ASP - Para cambiar el select ¿hay que volver a abrir

 
Vista:

Para cambiar el select ¿hay que volver a abrir

Publicado por lestter (37 intervenciones) el 18/06/2003 12:20:28
Hola !!

Cuando habro un base de datos y realizo una selección todo va bien, pero cuando tengo que volver a realizar una nueva selección. ¿Tengo que volver a abril la base de datos ??

yo hago:

dim cn,rs ' cabecera de facturas
dim cn1,rs1 ' base datos clientes
set cn=server.createobject("ADODB.connection")
set cn1=server.createobject("adodb.connection")
cn.open"provider=Microsoft.jet.OLEDB.4.0 ; Data source="&server.mappath("\almacen.mdb")&";"
cn1.open"provider=Microsoft.jet.oledb.4.0; data source="&server.mappath("\almacen.mdb")&";"
set rs=Server.createobject("adodb.recordset")
set rs1=server.createobject("adodb.recordset")

rs1.open "select * from clientes where cliente='"&ncli&"'",cn1
codigo=rs1("codigo")

rs.open "select * from cfac where codigo>='"&codigo&"'and codigo<='"&codigo&"' order by tipo , nfac",cn

Para volver a cambiar el select tengo que volver a escribir todo el código anterior, no me deja escribir solo una orden selec nueva o me dá error.

Hay algo que hago mal ???

gracias por vuestra ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Para cambiar el select ¿hay que volver a abrir

Publicado por Alejandro Visillac (113 intervenciones) el 18/06/2003 12:51:45
No entiendo bien cual es tu problema, pero si hablas de abrir varios select en una misma pagina. Pues puedes hacerlo habiendo realizado una sola conexion a la db.
Yo por ejemplo tengo una pagina con los siguientes query's

set cn = server.CreateObject("ADODB.Connection")
set cmd = server.CreateObject("ADODB.Command")
cn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\path\db\BD.mdb"))
Set cmd.ActiveConnection = cn
Sql = "SELECT Count(*) as CantidadDeRegistros FROM Tabla1"
Set rs = cn.Execute(Sql)
Sql = "SELECT Max(Fecha) as UlitmaFecha FROM Tabla1"
Set rs2 = cn.Execute(Sql)
Sql = "SELECT * FROM Tabla1"
Set rs3 = cn.Execute(Sql)

.... luego es cuestrion de recorrer el rs1, rs2 y el rs3
el rs1 me indica la cantidad de registros que posee la Tabla1
el rs2 me indica la fecha maxima que existe en la Tabla1
el rs3 me devuelve todos los registros de la Tabla1

Espero te sirva de algo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Me da un error

Publicado por lestter (37 intervenciones) el 18/06/2003 17:38:16
Al hacerlo como me indicas

sql="select * from clientes where codigo='"&codcli&"'"
set rs1=cn1.execute(sql)

Me da un error diciendo que la operación no esta permitida si el objeto esta cerrado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar