Tienda virtual

Hola, llevo un tiempo sin programar en ASP y me meten en este marroncito... Estoy bastante oxidada, se me ha olvidado todo! En fin, a ver si me puedes ayudar, espero no extenderme demasiado.
Tengo una parte en la que grabo los datos de la compra en la base de datos, los relacionados con el cliente y luego con la transacción. Hasta ahí bien. Pero en cada transacción o compra se pueden comprar varios artículos, claro, por lo que tengo una tabla anidada dentro de la de compras. Inserto los datos de la compra y luego recojo el último valor autonumérico de esa transacción, el que acabo de introducir, con lo siguiente:
cadSQL="SELECT TOP 1 Id_Compra FROM Tienda_Compras ORDER BY Id_Compra DESC"
rs.open cadSQL, conexion
Así obtengo el id_compra para meter los demás datos relacionados con esa compra. Ahora viene lo malo, que tengo que insertar los datos procedentes de unas variables de session. Esos datos están unidos con el símbolo $, por ejemplo me mostrarían esto: hola$adios$hastaluego
Así que quito el símbolo con un replace:
articulos=replace(session("articulo"), "$", "")
Y ahí me quedo porque no sé cómo seguir. He intentado meter los datos con un ciclo for, con un loop, pero creo que lo hago mal y no estoy segura de si la variable que tengo es un array o no.. Vamos, que tengo un cacao bueno.
Muchas gracias por adelantado.

1 respuesta

Respuesta
1
La solución parece fácil.
Yo utilizaría en vez de esto:
articulos=replace(session("articulo"), "$", "")
esto:
articulos=Split(session("articulo")),"$",-1,1)
Imaginate que tenemos en la variable de sesión: silla, mesa, cama
Esto lo que hace es almacenarte en un array todos los valores que has almacenado en la variable de sesión Articulo.
Para acceder a estos valores, se accede como en una Matriz simple:
Response.Write(Articulo(0))
Mostraría silla
Response.Write(Articulo(1))
Mostraría cama
...
Luego solamente necesitas crear un bucle FOR para que te recorra todo el Array y ya esta.
Suerte
Hola! Muchas gracias! Ya he conseguido que me devuelva los datos bien con el split, pero ahora me pasa otra cosa... Siento abusar de ti, pero es que me da un error: "Se esperaba un final de instrucción"
Yo creo que es la sintaxis al insertar los datos, pero hace mucho que no lo hago y estoy bastante perdida. Te pongo donde me da el fallo.
for i=0 to ubound(programas) -1
sql2="INSERT INTO T_Programas_Comprados (Programa, Version, Importe, Compra, Unidades) VALUES ('"&programas(i)"','"&versiones(i)&"',"&precios(i)&","&rs2("Id_Compra")&", "&v_unidades(i)&")"
conexion.execute(sql2)
next
No estoy muy segura de cómo se ponían las comillas en los valores numéricos... A lo mejor es eso.
Gracias otra vez!
Los valores numéricos en SQL no llevan comillas, los valores de cadena si, las fechas utilizan almohadillas,...
Además parece que en VALUES ('"&programas(i)"',...
te has dejado un &
('"&programas(i)&"',...
Mucha Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas