Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-05-2004
Nose Nose is offline
Miembro
 
Registrado: abr 2004
Ubicación: Chile
Posts: 66
Poder: 21
Nose Va por buen camino
Question 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
Responder Con Cita
  #2  
Antiguo 14-05-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
Hola.

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

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #3  
Antiguo 14-05-2004
Nose Nose is offline
Miembro
 
Registrado: abr 2004
Ubicación: Chile
Posts: 66
Poder: 21
Nose Va por buen camino
Hola!

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

Gracias
Responder Con Cita
  #4  
Antiguo 14-05-2004
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 23
guillotmarc Va por buen camino
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.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #5  
Antiguo 15-05-2004
brandolin brandolin is offline
Miembro
 
Registrado: jul 2003
Ubicación: Mendoza
Posts: 324
Poder: 21
brandolin Va por buen camino
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.
Responder Con Cita
  #6  
Antiguo 17-05-2004
floren floren is offline
Miembro
 
Registrado: dic 2003
Posts: 31
Poder: 0
floren Va por buen camino
Pues a mí si me va

Revisa tu instalación. Tengo FibPlus 5.3 y el IsEmpty funciona perfectamente sobre un TFibDataSet.
Responder Con Cita
  #7  
Antiguo 17-05-2004
floren floren is offline
Miembro
 
Registrado: dic 2003
Posts: 31
Poder: 0
floren Va por buen camino
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(*)
Responder Con Cita
  #8  
Antiguo 17-05-2004
Nose Nose is offline
Miembro
 
Registrado: abr 2004
Ubicación: Chile
Posts: 66
Poder: 21
Nose Va por buen camino
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
Responder Con Cita
  #9  
Antiguo 17-05-2004
floren floren is offline
Miembro
 
Registrado: dic 2003
Posts: 31
Poder: 0
floren Va por buen camino
Pues si hace menos de un año que has comprado los componentes te puedes descargar la actualizacion desde www.devrace.com.

Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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


La franja horaria es GMT +2. Ahora son las 09:23: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
Copyright 1996-2007 Club Delphi