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

cantidad de registros

Estas en el tema de cantidad de registros en el foro de ASP Clásico en Foros del Web. Necesito que me muestre cuantos registros con "X" características hay en mi base. Hice lo siguiente, pero siempre me da -1, lo cual me parece ...
  #1 (permalink)  
Antiguo 12/07/2004, 08:11
Avatar de FedEx  
Fecha de Ingreso: marzo-2004
Mensajes: 34
Antigüedad: 21 años, 1 mes
Puntos: 0
cantidad de registros

Necesito que me muestre cuantos registros con "X" características hay en mi base.
Hice lo siguiente, pero siempre me da -1, lo cual me parece que es porque esta mal el recordcount
Les dejo el código que se me ocurrio.
Gracias!!
<%
dim con,rs,sql

set con = server.createobject("ADODB.Connection")
set rs = server.createobject("ADODB.Recordset")

sql = "SELECT * FROM coti WHERE dolar='actua' and ver='ver' and nover='nover' "

con.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &Server.MapPath(".\base.mdb")
con.open
rs.open sql,con
resultado=rs.RecordCount
response.write ("<font size=""2"" face=""Arial""><b>Total de registros:</b>")&vbtab&(resultado)
%>
  #2 (permalink)  
Antiguo 12/07/2004, 08:59
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 4 meses
Puntos: 3
<%
dim con,rs,sql

set con = server.createobject("ADODB.Connection")
sql = "SELECT count(*) as numero FROM coti WHERE dolar='actua' and ver='ver' and nover='nover' "

con.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &Server.MapPath(".\base.mdb")
con.open con.connectionstring

set rs = con.execute(sql)

response.write ("<font size=""2"" face=""Arial""><b>Total de registros:</b>")&vbtab&(rs("numero"))
%>
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #3 (permalink)  
Antiguo 12/07/2004, 09:01
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 4 meses
Puntos: 3
bueno no sé si he puesto bien lo de conectarte a tu BD, eso es lo demenos.. lo que si de de estar es el valor de "sql" y set rs = con.execute(sql)

yo siempre abro las tablas asi, y es casi universal eso... lo importante es el count(*) as numero, y para mostrarlo es asi: rs("numero")... si quieres no pones "numero" y pones otra cosa, eso es lo demenos
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #4 (permalink)  
Antiguo 12/07/2004, 09:06
Avatar de FedEx  
Fecha de Ingreso: marzo-2004
Mensajes: 34
Antigüedad: 21 años, 1 mes
Puntos: 0
Muchisimas Gracias!!!
Funciono perfecto
  #5 (permalink)  
Antiguo 12/07/2004, 10:10
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
lo del problema del -1 en el recordcuont es por cómo abrís el recordset.
Ahora no recuerdo exactamente qué parámetros lleva, pero intentá abrirlo así:

rs.open sql,con,3,3
  #6 (permalink)  
Antiguo 30/08/2004, 12:10
 
Fecha de Ingreso: mayo-2002
Mensajes: 92
Antigüedad: 23 años
Puntos: 0
Tengo el mismo Problema

Ya probe de abrir el record set con todos los tipos de cursores, pero la propiedad RecordCount sigue devolviendome -1.
Estoy trabajando sobre windowsxp con VB6 y mysql.
Yo supongo que puede tener algo que ver con la conexion, la que estoy usando es esta: DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=abacosoft; UID=root; PWD=; OPTION=16384

Si alguien sabe cual es el problema, voy a estar muy agradecido.
Saludos.-
  #7 (permalink)  
Antiguo 06/09/2004, 14:17
 
Fecha de Ingreso: mayo-2002
Mensajes: 92
Antigüedad: 23 años
Puntos: 0
Nadie sabe a que se debe?

Saludos.
  #8 (permalink)  
Antiguo 06/09/2004, 14:23
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 4 meses
Puntos: 3
debes poner rs.open sql,con,3,1
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #9 (permalink)  
Antiguo 06/09/2004, 14:58
 
Fecha de Ingreso: marzo-2004
Ubicación: San José, Costa Rica
Mensajes: 234
Antigüedad: 21 años, 1 mes
Puntos: 0
[QUOTE=Martincho]trabajando sobre windowsxp con VB6 y mysql.
Yo supongo que puede tener algo que ver con la conexion, la que estoy usando es esta: DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=abacosoft; UID=root; PWD=; OPTION=16384QUOTE]

Saludos,

Tu base de datos es Mysql?, entonces no le des más vuelta al asunto el Driver ODBC de Mysql no permite esta opcion, ni tampoco PageSize, AbsolutePage y algunas otras...

Creo que en Mysql.com hay un workaround para sacarlo pero no recuerdo donde...
  #10 (permalink)  
Antiguo 07/09/2004, 18:42
 
Fecha de Ingreso: mayo-2002
Mensajes: 92
Antigüedad: 23 años
Puntos: 0
Ok

Muchas Gracias. Suponía que podía ser algo asi, por eso decidí usar SELECT COUNT(*) en una función llamada Contar("nombre_tabla","condicion").
Saludos.
  #11 (permalink)  
Antiguo 07/09/2004, 22:02
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 23 años, 4 meses
Puntos: 3
OK, este lo cree yo.. si me funciona y espero q les funcione a Uds. Es para mostrar 10 numeros como máximo. si queremos mostrar 9 paginas.. cada numero que vean le bajan una unidad, si quieren mostrar 8, le bajan 2 unidades.. y así sucesivamente.
<%
'cant_paginas = a la cantidad de páginas que se crean x la paginacion
'pagina_actual = a la página en que estamos

if cant_paginas > 10 then
xcant = pagina_actual + 9
if xcant > cant_paginas then xcant = cant_paginas
xpagina = pagina_actual
if xcant - xpagina < 12 then xpagina = xpagina - ((10) - (xcant - xpagina + 1))
else
xcant = cant_paginas
xpagina = 1
end if
For I = xpagina To xcant
response.write(I)
Next
%>
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
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 08:00.