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.