Ver Mensaje Individual
  #3  
Antiguo 07-07-2008
Avatar de 2-D@monic
2-D@monic 2-D@monic is offline
Miembro
 
Registrado: may 2007
Posts: 94
Reputación: 20
2-D@monic Va por buen camino
aquí está el código

Gracias por la respuesta, la verdad no estoy recorriendo el dataset sino que solo ejecuto el procedimiento, este me devuelve registros y solo muestro el resultado, en realidad es una función en postgresql que me devuelve un set of record:


Código:
 
 DataModule2.buscar_cliente.Close();
 DataModule2.buscar_cliente.Parameters[0].Value=Edit21.Text;
 DataModule2.buscar_cliente.Prepared=True;
 DataModule2.buscar_cliente.ExecProc();
 DataModule2.buscar_cliente.Open();
 if (DataModule2.buscar_cliente.RecordCount=0) then
 begin
        ShowMessage('No hay coincidencias');
        DataModule2.DataSource2.DataSet.Active=False;
 end;
 else
        DataModule2.DataSource2.DataSet.Active=True;
Como ves, solo activo el datasource en caso de que hay registros encontrados, sino lo desactivo; este datasource está conectado a un dbgrid para mostrar los registros.

El problema va cuando no ecuentra coincidencias, me muestra el mensaje de "el valor bof o eof es true..............." y la búsqueda ya no funciona más, solo me muestra el mensaje cada vez que ejecuto el procedimiento. Parece que tendría que "reiniciar" el procedimiento cada vez que lo ejecuto pero no sé como hacerlo.
Responder Con Cita