Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-09-2011
Patricio Patricio is offline
Miembro
 
Registrado: jul 2004
Posts: 433
Poder: 20
Patricio Va por buen camino
ayuda, cantidad de registros de una consulta anda cuando quiere

gente, mil disculpas, pero me pasa esto, paso una consulta como parametro a un procedimiento, si la consulta tiene pocos registros 8, 10 ... anda todo bien, ahora si la consulta tiene 21 registros, cuando los va a contar me dice que tiene -1, y despues no anda nada, es raro, porque o anda o no.
Yo paso la consulta (sqlmensajes) asi

DumpWord(sqlmensajes, WordDocument1);

y en el procedimiento hace esto (Dataset es el sqlmensajes)

DataSet.close;
DataSet.Open;
try
RowCount := DataSet.RecordCount;

y ese RowCount tira -1 cuando tiene mas de 20 registros o el numero correcto si es menor.

alguna sugerencia porque se me quemaron los papeles.
Responder Con Cita
  #2  
Antiguo 03-09-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Patricio.

Borré el segundo mensaje de tu post anterior ya que tiene el mismo contenido que este. Por favor en lo posible evita duplicar mensajes.

Saludos y gracias por tu colaboración.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 04-09-2011
Patricio Patricio is offline
Miembro
 
Registrado: jul 2004
Posts: 433
Poder: 20
Patricio Va por buen camino
gracias

si, yo lo quise eliminar y no pude. Alguna idea porque me tira mal la cantidad de registros?
Responder Con Cita
  #4  
Antiguo 04-09-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No somos adivinos, si no podes código fuente...
Responder Con Cita
  #5  
Antiguo 04-09-2011
Patricio Patricio is offline
Miembro
 
Registrado: jul 2004
Posts: 433
Poder: 20
Patricio Va por buen camino
no se si no son adivinos, son unos champion

casimiro gracias por tu aporte, el tema es que ese es el codigo de arriba, yo estoy viendo un grid, con la consulta sqlmensajes, y al dar un click en un boton, hace el Dumpword y luego en ese procedure el open, close del dataset.

Me desconcentra que si la sql tiene pocos registros ande bien ese procedure, y si tiene 20 registros o mas no

El Dumpword recibe como primer parametro un dataset, yo le pongo directamente sqlmensajes asi, sin ningun parametro, podra ser por eso? pero no tendria que funcionar nunca, no a veces
Responder Con Cita
  #6  
Antiguo 04-09-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bien, pero ese sqlmensajes (si es un dataset) debe tener un sql.
Responder Con Cita
  #7  
Antiguo 04-09-2011
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Una consulta SQL normalmente no devuelve el número de registros que devolvió la consulta. Cuando llamas a RecordCount sobre un componente que hereda de TSQLQuery o similares, el número que devuelven es la cantidad de registros que han sido descargados.

La única explicación que se me puede ocurrir a tu problema, es que no estés descargando (Fetch) o mostrando algún registro antes de llamar a la función RecordCount. En este caso, lo único que puedes hacer es, en una consulta aparte, preguntar el número de registros que debe devolver la consulta, o bien, recorre la tabla de resultados hasta llegar al último registro y luego llama a la función RecordCount.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #8  
Antiguo 05-09-2011
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Como indica Chris,
cuando llamas a RecordCount sobre un componente que hereda de TSQLQuery o similares, el número que devuelven es la cantidad de registros que han sido descargados (fetch).
prueba esto:

Código Delphi [-]
  DataSet.close;
  DataSet.Open;
  DataSet.Last;
  try
    RowCount := DataSet.RecordCount;
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cantidad de Registros... Jose Roman Firebird e Interbase 6 08-08-2008 08:24:15
Cantidad de registros en Access Drakyto Varios 2 07-02-2008 17:30:44
Cantidad de Registros Carliviris Varios 11 08-08-2006 17:10:36
cuando a una fecha le resto una cantidad de dias,no se en que formato enviar el param federiconqn21 Firebird e Interbase 1 10-04-2006 16:32:37
Findfirst funciona cuando quiere rfernandez API de Windows 3 17-03-2005 11:35:43


La franja horaria es GMT +2. Ahora son las 20:26:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi