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

Contar Registros (URGENTE)

Estas en el tema de Contar Registros (URGENTE) en el foro de ASP Clásico en Foros del Web. Hola amig@s, como estan??? Tengo un gran problema, el cual les paso a detashar. La idea de la aplicacion es enviar mensajes internos entre los ...
  #1 (permalink)  
Antiguo 17/11/2003, 22:30
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 21 años, 8 meses
Puntos: 0
Exclamación Contar Registros (URGENTE)

Hola amig@s, como estan???
Tengo un gran problema, el cual les paso a detashar.

La idea de la aplicacion es enviar mensajes internos entre los usuarios de mi sitio, para lo cual uso una base en la q almaceno, entre otras cosas, el mensaje, un booleano q indica si sha fue visto o no (campo "Visto") y el id de quien lo envia (campo "A_id").
Ahora, mediante una consulta, recupero los campos "Visto" siempre q sean False y q A_id sea igual al ID del usuario logeado actualmente, la cual almaceno en una variable de session al momento q le doy acceso al usuario al sitio.

Finalmente quiero contar esos campos para decirle al usuario: "Ud. tiene X mensajes nuevos".

Ahora, me surgio un problema q no puedo resolver, no se a q c debe, sha q no da error, pero nada me funciona.

* Se supone q si el RecordSet esta vacio, un RecordCount devolveria un valor -1 (o me equivoco???) y asi es, devuelve un -1, PERO si hago un <% if rs.EoF then %> no corre los comandos, por lo q no cumple la condicion de estar vacio... o tengo un problema de conceptos o algo anda mal en mi codigo, sha q es MUY contradictorio y cada vez entiendo menos.

Les muestro el codigo, pueden copiarlo y pegarlo en algun editor, asi, tal cual lo tengo sho en mi pagina.
Código:
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file ="validate.inc"-->
<%
   rs.Open "SELECT Visto FROM Mensajes WHERE A_id = "&Session("iduser")&" AND Visto = False", Conn
%>
<%
   Dim regs
   regs = rs.RecordCount + 1
%>
<html>
<head>
<title>Leer Mensajes</title>
</head>

<body bgcolor="#003366" text="#FFFFFF">

<p>&nbsp;</p>
<p align="center">Leer Mensajes Nuevos</p>
<p>&nbsp;</p>
<table width="250" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td><p align="center">
<%
   if rs.EoF then
      Response.Write("Ud no tiene mensajes nuevos en su cuenta")
   else if regs = 1 then
      Response.Write("Ud tiene 1 mensaje nuevo")
   else if regs > 1 then
      Response.Write("Ud tiene"& regs &"mensajes nuevos")
   end if
   end if
   end if
%>
      </p>
      </td>
  </tr>
</table>
</body>
</html>
Nota: En validate.inc hago toda la conexion ODBC y valido al usuario para q no pueda acceder a esa pagina a menos q se haya registrado anteriormente.

En fin, ese es el codigo q me esta consumiendo, no tengo NI IDEA de q puede estar mal, espero su ashuda

Muchas gracias a tod@s
Saludos

AlvAro
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book

Última edición por sktrpunk; 17/11/2003 a las 22:33
  #2 (permalink)  
Antiguo 17/11/2003, 23:38
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 21 años, 8 meses
Puntos: 0
dato

Un dato q me falto mencionar:
rs.RecordCount +1 = 0
por lo q RecordCount = -1
si asi fuera, seria igual a rs.EoF, no???
Aqui esta mi confusion, sha q la unica condicion q cumple es:
<% if regs = 0 then %>
Y esto esta MUY mal teniendo en cuenta q en mi base hay como 5 campos Visto = False.
No c, la verdad q no entiendo.
Saludos

AlvAro
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
  #3 (permalink)  
Antiguo 18/11/2003, 09:40
Avatar de AlexNV  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 289
Antigüedad: 21 años, 10 meses
Puntos: 1
Consejo: no confies nunca en la propiedad RecordCount. Te puede traer muchos quebraderos de cabeza. Mejor haz un SELECT COUNT.
  #4 (permalink)  
Antiguo 18/11/2003, 11:47
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 23 años, 4 meses
Puntos: 98
Aquí está tu problema

http://www.aspfacil.com/vertruco.asp?id=3

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 18/11/2003, 14:23
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 21 años, 8 meses
Puntos: 0
De acuerdo You Rule

GRACIAS u_goldman!!!
Ahora si esta funcionando perfecto. Muchas gracias.
Gracias tambien a AlexNV, sha me han dicho q RecordCount es algo erratico y poco confiable, voy a averiguar mas sobre el Select Count.
Weno, hoy duermo trankilo
Saludos a tod@s

AlvAro
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
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 10:41.