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. |
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. |
gracias
si, yo lo quise eliminar y no pude. Alguna idea porque me tira mal la cantidad de registros?
|
No somos adivinos, si no podes código fuente... :confused:
|
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 |
Bien, pero ese sqlmensajes (si es un dataset) debe tener un sql.
|
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 |
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:
|
La franja horaria es GMT +2. Ahora son las 02:00:08. |
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