PDA

Ver la Versión Completa : Búsqueda Query mostrando mensaje de resultado - Delphi


koalasoft
31-12-2016, 03:39:42
Estimados una duda con las consultas con el componente Query..

Tengo la siguiente consulta para buscar un valor en una tabla..



with Query1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM ONT.db ');
SQL.Add('WHERE NUMERO_ONT=:'+ Edit1.Text);
Open;
end;

Al parecer no hay problema con esta búsqueda, pero si el resultado de la petición de la búsqueda no la encuentra, cómo puedo hacer para que me muestre un mensaje diciendo "Resultado encontrado" por ejemplo..

Agradezco sus comentarios..

AgustinOrtu
31-12-2016, 04:38:14
Creo que no entendi bien. Queres que cuando el query no ecuentre ningun resultado (osea, vuelve vacio) aparezca un mensaje en pantalla con la leyenda "Resultado encontrado"?

Para evaluar si un query devolvio resultados o no, basta con la propiedad TDataSet.IsEmpty (http://docwiki.embarcadero.com/Libraries/en/Data.DB.TDataSet.IsEmpty)

Por otra parte creo que la sintaxis de tu consulta es incorrecta, para usar parametros tenes que especificar el nombre en la consulta y despues asignar el valor usando Query.ParamByName


Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('SELECT * FROM ONT.db ');
Query1.SQL.Add('WHERE NUMERO_ONT= :Numero'); // se define un parametro con el nombre "Numero"
Query1.ParamByName('Numero').Value := Edit1.Text;
Query1.Open;
if Query1.IsEmpty then
ShowMessage('Resultado encontrado');

koalasoft
31-12-2016, 17:13:21
Creo que no entendi bien. Queres que cuando el query no ecuentre ningun resultado (osea, vuelve vacio) aparezca un mensaje en pantalla con la leyenda "Resultado encontrado"?

Para evaluar si un query devolvio resultados o no, basta con la propiedad TDataSet.IsEmpty (http://docwiki.embarcadero.com/Libraries/en/Data.DB.TDataSet.IsEmpty)

Por otra parte creo que la sintaxis de tu consulta es incorrecta, para usar parametros tenes que especificar el nombre en la consulta y despues asignar el valor usando Query.ParamByName


Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('SELECT * FROM ONT.db ');
Query1.SQL.Add('WHERE NUMERO_ONT= :Numero'); // se define un parametro con el nombre "Numero"
Query1.ParamByName('Numero').Value := Edit1.Text;
Query1.Open;
if Query1.IsEmpty then
ShowMessage('Resultado encontrado');


Estimado tiene usted toda la razón, mil disculpa fue error de dedo en el mensaje , el mensaje era "Resultado NO encontrado", gracias por la corrección, efectivamente eso estaba buscando muchas gracias !!