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

Como contar los registros que devuelve esta consulta con INNER JOIN

Estas en el tema de Como contar los registros que devuelve esta consulta con INNER JOIN en el foro de ASP Clásico en Foros del Web. set rsBuscar=db.execute("SELECT * FROM productos INNER JOIN autores ON productos.idautor = autores.idautor where nombreautor like '%" & Replace(Keyword, "'", "''") & "%' ")...
  #1 (permalink)  
Antiguo 12/11/2004, 10:32
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
Como contar los registros que devuelve esta consulta con INNER JOIN

set rsBuscar=db.execute("SELECT * FROM productos INNER JOIN autores ON productos.idautor = autores.idautor where nombreautor like '%" & Replace(Keyword, "'", "''") & "%' ")
  #2 (permalink)  
Antiguo 12/11/2004, 10:46
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Pues con rsBuscar.RecordCount
o con vector = rsBuscar.GetRows (y checando el UBound)
  #3 (permalink)  
Antiguo 12/11/2004, 10:56
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
He usado <%=rsBuscar.RecordCount%> y obtengo -1 (Que extraño!!!), lo de vector = rsBuscar.GetRows (y checando el UBound) nunca he usado GetRows, si me lo pudieras detallar un poquito te lo agradeceria
  #4 (permalink)  
Antiguo 12/11/2004, 11:29
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Por lo del menos uno. Eso se arregla con usar un cursor definido como adUseClient (3) en lugar de adUseServer (2).

Y por lo de GetRows, en www.ASPFacil.com (¿o era en www.asptutor.com.ar?) hay un muy buen artículo sobre el tema.

Saludos
  #5 (permalink)  
Antiguo 12/11/2004, 12:27
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
Como ves no estaba haciendo uso de un recordset, la conexion la hago a traves de otro archivo de esta forma(Usando ODBC):

dim db
dim strConn
strConn = "webconn"
Set db = Server.CreateObject("ADODB.Connection")
db.open strConn

Si lo hiciera como tu dices, como pondria esto:

set rsBuscar=Server.CreateObject("ADODB.Recordset")
rsBuscar.Open "productos", strConn, 3,3 Para que me buscase tanto en la tabla productos y en la tabla autores
  #6 (permalink)  
Antiguo 12/11/2004, 13:45
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Pues no te entendí.

Pero una forma de hacer lo que intentas (con DSN, como lo tienes, aunque sería mejor detectamente al driver) es:

Set oConn = Server.CreateObject("ADODB.Connection")
oConn .ConnectionString = "DSN=webconn"
oConn .Open
Set oRS = Server.createobject("ADODB.Recordset")
sql = "SELECT * FROM productos INNER JOIN autores ON productos.idautor = autores.idautor where nombreautor like '%" & Replace(Keyword, "'", "''") & "%' "
Set oRS = oConn .Execute(sql)
' o bien oRS.Open sql,oConn,3,3
NumRegistros = oRs.RecordCount
  #7 (permalink)  
Antiguo 15/11/2004, 01:30
 
Fecha de Ingreso: mayo-2003
Mensajes: 866
Antigüedad: 22 años
Puntos: 0
Myakire Gracias funciono OK.
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




La zona horaria es GMT -6. Ahora son las 01:27.