Foros del Web » Programando para Internet » ASP Clásico »

BD - Pedido

Estas en el tema de BD - Pedido en el foro de ASP Clásico en Foros del Web. Hola: Tengo dos problemas en una pagina que estoy haciendo para pedidos. Algunas cosas que ya funcionan, los pedidos los almaceno en una tabla que ...
  #1 (permalink)  
Antiguo 26/03/2003, 18:02
 
Fecha de Ingreso: marzo-2003
Mensajes: 48
Antigüedad: 22 años, 2 meses
Puntos: 0
BD - Pedido

Hola:

Tengo dos problemas en una pagina que estoy haciendo para pedidos. Algunas cosas que ya funcionan, los pedidos los almaceno en una tabla que cuando el usuario termina se envian la solictud por e-mail y se limpia la tabla. Las dudas en concreto son:

- El codigo de los articulos tiene la siguiente forma 111.4, lo trato como un string y lo guardo en la tabla en un campo texto, pero al guardar la informacion en la BD de Access me sustituye el punto por una coma. Como puedo evitar esto ?

- Como asocio la tabla a una variable de sesion para que cada usuario solo pueda modificar su pedido.

Saludos
  #2 (permalink)  
Antiguo 26/03/2003, 18:19
Avatar de MsTech.DotNet  
Fecha de Ingreso: marzo-2003
Ubicación: Maracay - Edo. Aragua
Mensajes: 605
Antigüedad: 22 años, 1 mes
Puntos: 0
En cuanto a variable session...

Bueno con respecto a lo de como identificar a un usuario para que este pueda modificar su pedido mediante el objeto session , se podria hacer que una vez que el usuario haga login... y se compruebe que el usuario existe entonces se crearia la variable session con un dato clave que lo identifique, ejemplo la cedula de identidad y ese campo cedula de identidad tendria que estar tambien en la tabla pedidos para que si la session esta creada y tiene el campo clave entonces se dirija a la tabla pedidos y solo le muestre a ese usuario los registros que concuerden con su cedula de identidad que esta almacenada en la variable session...

Con respecto a lo del codigo de los articulos dejame investigar y cualquier cosa te aviso....

Espero que te sirva esta parte...

Cualquier duda al respecto no olvides comentarla...

Saludos....
__________________
Ing. Javier Ugalde
Desarrollador de Aplicaciones Web / Windows
Director de Desarrollos Web
Ing. en Información
Email: [email protected]
Telf. Hab: +[58] - (243) - 232.02.06
Telf. Cel: +[58] - (414) - 455.26.80
  #3 (permalink)  
Antiguo 27/03/2003, 06:52
Mai
 
Fecha de Ingreso: febrero-2003
Mensajes: 38
Antigüedad: 22 años, 2 meses
Puntos: 0
Lo de sustituir el . por la , es pq esta pasandole la referencia como numerica antes de guardarla en Access ( si el campo de Access es un string). Miralo bien, por alguna razon te esta convirtiendo la referencia antes llegar BBDD.

Otra cosa que puede hacer, algo chapucilla, es guardar la referencia con algún caracter alfabetico delante. por ejemplo R111.4 y luego al recupar la información quitarlo. Pero esto ultimo no te lo recomiendo a no ser que tengas prisa por acabar.
  #4 (permalink)  
Antiguo 27/03/2003, 11:20
 
Fecha de Ingreso: marzo-2003
Ubicación: Madrid
Mensajes: 48
Antigüedad: 22 años, 1 mes
Puntos: 0
Puedes poner el codigo? de la parte en la que haces la insercion?
  #5 (permalink)  
Antiguo 27/03/2003, 14:48
 
Fecha de Ingreso: marzo-2003
Mensajes: 48
Antigüedad: 22 años, 2 meses
Puntos: 0
Gracias a los que han respondido a mis dudas.

Bueno, colocando el codigo el usuario en la tabla y haciendo las consultas para cada usuario en especifico como indico MsTech.DotNet he solucionado el primero de los problemas.

He seguido a lo largo de las subrutinas como va pasando la variable codigo del aticulo y llega bien, pero en la insercion obviamente pasa algo.

Aqui les muestro el codigo de la funcion que hace la insercion y/o actualizacion de los datos del pedido en la tabla.


Sub AdicionarPed

Dim RS, SQL, Conn

Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")

Conn.Open "DSN"

SQL="Select * from pedido where codigoz like '" & codigo &"' and codusu like '" & codusu &"' "

RS.Open SQL, Conn, 1,2

If not RS.EOF then

RS("t36c") = t36c
RS("t37c") = t37c
RS("t38c") = t38c
RS("t39c") = t39c
RS("t40c") = t40c
RS("t41c") = t41c
RS("t42c") = t42c
RS("t43c") = t43c
RS("t44c") = t44c
RS("t45c") = t45c
RS("t46c") = t46c
RS("t47c") = t47c
RS("t48c") = t48c
RS("total") = total

RS.Update

End If

If RS.EOF then

SQL = "Insert Into pedido (codigoz, codusu, t36c, t37c, t38c, t39c, t40c, t41c, t42c, t43c, t44c, t45c, t46c, t47c, t48c, total) Values ("& codigo &"," & codusu & ", "& t36c &", "& t37c &", "& t38c &", "& t39c &", "& t40c &", "& t41c &", "& t42c &", "& t43c &", "& t44c &", "& t45c &", "& t46c &", "& t47c &", "& t48c &", "& total &")"

Set RS = Conn.Execute(SQL)

End If

Conn.Close
Set Conn = Nothing

End Sub

Saludos
  #6 (permalink)  
Antiguo 28/03/2003, 02:44
 
Fecha de Ingreso: marzo-2003
Ubicación: Madrid
Mensajes: 48
Antigüedad: 22 años, 1 mes
Puntos: 0
Haber si nome equivoco el problema creo que lo tienes cuando el valor es numerico, problemas de coversion me imaigno.....¿has probado insertar el campo asi? CONVERT(VARCHAR,CAMPO)...otra posibilaidad que no se si tiene asp pero que yo uso en visual es pasarlo a CSTR(CAMPO)....otra podria ser 'campo' que no lleva comillas simples como tu lo tienes, desde luego es porque le llega como numerico y claro access lo insterrepta como le sale de los.....
CONVERT debe tener algun equivalente en access es una funcion SQL server no se si esta en access....espero haberte ayudado algo.....suerte...
  #7 (permalink)  
Antiguo 28/03/2003, 04:35
 
Fecha de Ingreso: marzo-2003
Mensajes: 48
Antigüedad: 22 años, 2 meses
Puntos: 0
Hola:

Antes de la SQL de insercion he puesto codigo = CStr(codigo) , luego he escrito Response.Write("codigo :" & codigo & "<br>") y aparecen el punto. Luego al llamar a la funcion de ver el Pedido, otra vez se ha sustituido en la tabla el punto por coma en el codigo del producto.

He buscado la funcion Convert en la referencia de VBscript y no aparece.

Saludos y gracias
  #8 (permalink)  
Antiguo 28/03/2003, 04:38
 
Fecha de Ingreso: marzo-2003
Ubicación: Madrid
Mensajes: 48
Antigüedad: 22 años, 1 mes
Puntos: 0
Es que convert es una funcion SQL de consulta....mira en access....seguro que se eso te vale...si no es convert seguro que access tiene orta parecida
  #9 (permalink)  
Antiguo 28/03/2003, 04:42
 
Fecha de Ingreso: marzo-2003
Ubicación: Madrid
Mensajes: 48
Antigüedad: 22 años, 1 mes
Puntos: 0
pero tu cuando lo insertas....si vas a la base de datos y lo miras desde access..se ha guardado con punto o con coma....
  #10 (permalink)  
Antiguo 28/03/2003, 04:53
 
Fecha de Ingreso: marzo-2003
Mensajes: 48
Antigüedad: 22 años, 2 meses
Puntos: 0
Hola:

He revisado la sentencia Insert Into y no me habia fijado que no habia puesto las comillas simples en los campos de texto, por lo que quedaria de la siguiente forma:

SQL = "Insert Into pedido (codigoz, codusu, t36c, t37c, t38c, t39c, t40c, t41c, t42c, t43c, t44c, t45c, t46c, t47c, t48c, total) Values ('"& codigo &"','" & codusu & "', "& t36c &", "& t37c &", "& t38c &", "& t39c &", "& t40c &", "& t41c &", "& t42c &", "& t43c &", "& t44c &", "& t45c &", "& t46c &", "& t47c &", "& t48c &", "& total &")"

Ahora si se guardan los puntos en la BD

Saludos
Muchas Gracias

  #11 (permalink)  
Antiguo 28/03/2003, 05:01
 
Fecha de Ingreso: marzo-2003
Ubicación: Madrid
Mensajes: 48
Antigüedad: 22 años, 1 mes
Puntos: 0
Estaba convencido de que tenia que ser una de esas tres cosas....venga un saludo....
  #12 (permalink)  
Antiguo 28/03/2003, 06:57
Mai
 
Fecha de Ingreso: febrero-2003
Mensajes: 38
Antigüedad: 22 años, 2 meses
Puntos: 0
hay que tener en cuenta que al insertar un string en una base de datos hay que incluir 'cadena'
es decir, sin insertar
insert into perido (pepe)values('"&cadena&"') OJITO ' y "
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 08:00.