Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Firebirds siempre devuelve un registro, a pesar... (https://www.clubdelphi.com/foros/showthread.php?t=10281)

Nose 14-05-2004 17:37:49

Firebirds siempre devuelve un registro, a pesar...
 
Hola a todos!

Una pregunta, como soy novato en firebirds ( he dejado de trabajar ya hace 5 años en interbase) y me he dado cuenta y la cual aún no recuerdo, es cómo determinar si un select me diga en delphi que no hay registros, pues no me resulta el IsEmpty, pues siempre, y lo he comprobado con ibexpert, siempre devuelve una fila, aunque sea de valores nulos.
Trabajo con fibplus 5.2. Ejecuto un procedimiento con el típico Select en el componente TpFIBDataset. La solución que he encontrado, aunque engorroso es algo así:
Código:

if not dmTablas.FindContrib.FieldByName ( 'Rut' ).IsNull then
...
else
...

Es decir, debo recordar cual es la primera columna clave para saber si tiene nulos.
¿Hay alguna otra manera de hacerlo?

Eso no más

Gracias

guillotmarc 14-05-2004 18:37:46

Hola.

Si no sirve IsEmpty, entonces prueba con dmTablas.FindContrib.RecordCount = 0

Saludos.

Nose 14-05-2004 19:17:43

Hola!

Cita:

Si no sirve IsEmpty, entonces prueba con dmTablas.FindContrib.RecordCount = 0
Eh! :eek: :eek:
No sirve, siempre devuelve 1 registro cuando no lo encuentra, la lata es que hay poner la instrucción que comentaba arriba.

Gracias

guillotmarc 14-05-2004 19:22:46

Hola.

Que curioso. Aunque te aseguro que es un problema de los componentes (no he probado las FibPlus), puesto que Firebird no devuelve ninguna fila en las consultas vacias. (Aunque el IB-Expert te pueda enseñar una fila con nulas, es para que puedas usarla para añadir un archivo, no porqué la haya devuelto Firebird).

Saludos.

brandolin 15-05-2004 01:12:40

yo lo que hago es ver si la consulta tiene algun registro o mejor dicho si estoy en eof. Para eso hago:

...consulta select...
if tabla.eof
then hago esto
else hago lo otro.

espero te sirva.

floren 17-05-2004 17:20:57

Pues a mí si me va
 
Revisa tu instalación. Tengo FibPlus 5.3 y el IsEmpty funciona perfectamente sobre un TFibDataSet.

floren 17-05-2004 17:32:22

Tal vez lo que te ocurre es que te confunde el hecho de ver tras una consulta una tabla con una fila llena de <null> en cada campo en IbExpert... eso no quiere decir que te haya devuelto un registro.

Eso lo que quiere decir es que te devuelve "nada". Haz la prueba con un
Código SQL [-]
select count(*)

Nose 17-05-2004 17:40:35

Hola!

Cita:

Revisa tu instalación. Tengo FibPlus 5.3 y el IsEmpty funciona perfectamente sobre un TFibDataSet.
Tengo la versión anterior v5.2

floren 17-05-2004 17:43:27

Pues si hace menos de un año que has comprado los componentes te puedes descargar la actualizacion desde www.devrace.com.

Saludos


La franja horaria es GMT +2. Ahora son las 02:55:59.

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