++- Insert en Bucle ++++

26/03/2006 - 04:20 por Aaccell | Informe spam
Hola buen día a todos. Tengo un pequeño problema que aún no he podido
resolver... espero que me puedan ayudar


Tengo una página con un listado de productos cada uno con la opción de
marcarlos con un "CheckBox", esto para que en la siguiente página me de como
resultado, agregar todos los productos marcados en una tabla de la base de
datos.
Pensé en hacerlo con un bucle pero he tenido algunos problemas con lo de
Cerrar y Abrir el "recordset" ¿Existirá otra manera mas sencilla o efectiva?


Establezco la conexion:

<%
categoria=request.form("lista")
dim d,e,j
d = split( request.form("numprod") , "," )
'-- Declaración de Vairables
Dim Conexion, Tabla, Directorio
'Se crean los objetos de datos
Set Conexion = Server.CreateObject("ADODB.Connection")
Set Tabla = Server.CreateObject("ADODB.Recordset")
'Conectamos a la base de datos mediante OLE ODBC dando el Driver
Conexion.Provider = "Microsoft.Jet.OLEDB.4.0"
Directorio = "C:\Inetpub\gdl\datos\smtl.mdb"
Conexion.Open ("Data Source=" & directorio)
%>



Y utilizo la consulta:



<%response.write(categoria)%>
<form name="tablacat">
<table>
<tr>
<td>
<select name=lista type=multiple>
<%
if isarray(d) then
for i=0 to ubound(d)
response.write("<option value='*" & d(i) & "*'>"& d(i) )
response.write("</option>")
If Tabla.Open then
tabla.close
end If
sentencia = "insert into TB_PRODUCTO_CATEGORIA (KCategoria, KProducto)
values ('" & categoria & "', '" & d(i) & "')"
tabla.Open sentencia,Conexion,3,3,1
next
end if
%>
</td>
</tr>
<tr>
<td align="center">
<a href="nocatprod.asp"> Regresar </a>
</td>
</tr>
</table>
</form>




Espero que me puedan ayudar y que tengan un excelente día.

Preguntas similare

Leer las respuestas

#1 Dani Castillo
26/03/2006 - 11:38 | Informe spam
intenta no llamar la atencion sobre tus mensajes con signos como
+++

recuerda que todos los mensajes de todos los usuarios son igual de
importantes ¿o los tuyos son mas?

por mi parte consigues el efecto opuesto, soy mas reacio a contestar a los
que intentan llamar la atencion :-(

un saludo
dani
"Aaccell" escribió en el mensaje
news:
Hola buen día a todos. Tengo un pequeño problema que aún no he podido
resolver... espero que me puedan ayudar


Tengo una página con un listado de productos cada uno con la opción de
marcarlos con un "CheckBox", esto para que en la siguiente página me de
como
resultado, agregar todos los productos marcados en una tabla de la base de
datos.
Pensé en hacerlo con un bucle pero he tenido algunos problemas con lo de
Cerrar y Abrir el "recordset" ¿Existirá otra manera mas sencilla o
efectiva?


Establezco la conexion:

<%
categoria=request.form("lista")
dim d,e,j
d = split( request.form("numprod") , "," )
'-- Declaración de Vairables
Dim Conexion, Tabla, Directorio
'Se crean los objetos de datos
Set Conexion = Server.CreateObject("ADODB.Connection")
Set Tabla = Server.CreateObject("ADODB.Recordset")
'Conectamos a la base de datos mediante OLE ODBC dando el Driver
Conexion.Provider = "Microsoft.Jet.OLEDB.4.0"
Directorio = "C:\Inetpub\gdl\datos\smtl.mdb"
Conexion.Open ("Data Source=" & directorio)
%>



Y utilizo la consulta:



<%response.write(categoria)%>
<form name="tablacat">
<table>
<tr>
<td>
<select name=lista type=multiple>
<%
if isarray(d) then
for i=0 to ubound(d)
response.write("<option value='*" & d(i) & "*'>"& d(i) )
response.write("</option>")
If Tabla.Open then
tabla.close
end If
sentencia = "insert into TB_PRODUCTO_CATEGORIA (KCategoria, KProducto)
values ('" & categoria & "', '" & d(i) & "')"
tabla.Open sentencia,Conexion,3,3,1
next
end if
%>
</td>
</tr>
<tr>
<td align="center">
<a href="nocatprod.asp"> Regresar </a>
</td>
</tr>
</table>
</form>




Espero que me puedan ayudar y que tengan un excelente día.


Respuesta Responder a este mensaje
#2 Aaccell
27/03/2006 - 23:12 | Informe spam
Ups¡.. Lo siento, no lo hago con la intención de ofender a nadie, es solo la
costumbre de hacerlo.
Te prometo que no pasa de nuevo...
Respuesta Responder a este mensaje
#3 German Saer
28/03/2006 - 05:07 | Informe spam
Presenta el codigo de ambas paginas (parcialmente) para poder ayudarte
mejor. Esto tiene varias maneras de hacerlo.

Thanks,

_______________
German Saer
Orlando, FL 32810



"Aaccell" wrote in message
news:
Ups¡.. Lo siento, no lo hago con la intención de ofender a nadie, es solo


la
costumbre de hacerlo.
Te prometo que no pasa de nuevo...


Respuesta Responder a este mensaje
#4 Dani Castillo
28/03/2006 - 20:19 | Informe spam
para los inserts puedes probar
Conexion.execute sql
en lugar de abrir un recordset y cerrarlo , asi ira mas rapido

aparte puedes hacer varios insert en el mismo execute (separados por ;)

suerte!
dani.

"Aaccell" escribió en el mensaje
news:
Ups¡.. Lo siento, no lo hago con la intención de ofender a nadie, es solo
la costumbre de hacerlo.
Te prometo que no pasa de nuevo...

Respuesta Responder a este mensaje
#5 Aaccell
30/03/2006 - 04:05 | Informe spam
Ok.. lo probaré de esa manera.

Este es la forma en que hasta ahora lo eh hecho..


Establezco la conexion:

<%
categoria=request.form("lista")
dim d,e,j
d = split( request.form("numprod") , "," )
'-- Declaración de Vairables
Dim Conexion, Tabla, Directorio
'Se crean los objetos de datos
Set Conexion = Server.CreateObject("ADODB.Connection")
Set Tabla = Server.CreateObject("ADODB.Recordset")
'Conectamos a la base de datos mediante OLE ODBC dando el Driver
Conexion.Provider = "Microsoft.Jet.OLEDB.4.0"
Directorio = "C:\Inetpub\gdl\datos\smtl.mdb"
Conexion.Open ("Data Source=" & directorio)
%>



Y utilizo la consulta:



<%response.write(categoria)%>
<form name="tablacat">
<table>
<tr>
<td>
<select name=lista type=multiple>
<%
if isarray(d) then
for i=0 to ubound(d)
response.write("<option value='*" & d(i) & "*'>"& d(i) )
response.write("</option>")
If Tabla.Open then
tabla.close
end If
sentencia = "insert into TB_PRODUCTO_CATEGORIA (KCategoria, KProducto)
values ('" & categoria & "', '" & d(i) & "')"
tabla.Open sentencia,Conexion,3,3,1
next
end if
%>
</td>
</tr>
<tr>
<td align="center">
<a href="nocatprod.asp"> Regresar </a>
</td>
</tr>
</table>
</form>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida