registro no existe y consultarlos
hola muchachos espero que esten bien
Tengo un problema es con una consulta por dos campos especificos me Explico mejor Estoy usando delphi 7 una tabla llamada = Pais un adoquery llamado = Temp dos campos llamados = codigo(Numerico) y pais(Alfanumerico) en la tabla los declare el codigo como "int" y el pais como Varchar(25) Cuando busco el codigo me lo consulta bien sin problema y si no existe el registro me lo dice hasta ahi bien. Pero cuando trato de consultarlo por el pais me da un error el codigo es el siguiente:
este codigo consulta bien por el campo codigo, pero no se como hacerlo para que me consulte por los campos tanto por codigo como por pais y si no existen ninguno de los dos me mande el letro que me diga registro no existe, ayudenme por favor. |
Hola Agustin.
¿ Cuál es el error que te dá ? Aunque mirando por arriba, la sentencia: Cita:
Saludos. :) |
como estas ecfisa
el error es el siguiente Project synapse.exe raised exception class eiolecption with message ' incorrect syntax near 'dominicana' process stopped. use step or run to continue. el codigo completo es este: [delphi] //Busca Registros en la Base de Dato por Codigo y Pais Temp.close; Temp.SQL.Text := 'Select codigo, fecha, Pais From Pais '; if edcodbuscar.Text <> '' then begin Temp.SQL.Add(' where codigo = '+EdCodBuscar.Text); Temp.Active := True; If Temp.Fields[0].AsString <> edcodbuscar.Text then begin Showmessage(' Registro No Existe '); end else EdCodBuscar.text:= Temp.Fields[0].AsString; EDfechaBuscar.text:= Temp.Fields[1].AsString; EDPaisBuscar.Text:= Temp.Fields[2].AsString; end else if EDPaisbuscar.Text <> '' then begin Temp.SQL.Add(' where Pais = '+EDPaisBuscar.Text); Temp.Active := True; if Temp.RecordCount= 0 Then ShowMessage('Registro No Existe'); EdCodBuscar.Text:= Temp.Fields[0].AsString; EdFechaBuscar.Text:= Temp.Fields[1].AsString; EDPaisBuscar.Text:= Temp.Fields[2].AsString; [\delphi] me falto poner algo del codigo, si tu crees que hay un metodo mas facil ayudame por favor. |
si la puse completa ahora mirala
|
[delphi]
//Busca Registros en la Base de Dato por Codigo y Pais Temp.close; Temp.SQL.Text := 'Select codigo, fecha, Pais From Pais '; if edcodbuscar.Text <> '' then begin Temp.SQL.Add(' where codigo = '+EdCodBuscar.Text); Temp.Active := True; If Temp.Fields[0].AsString <> edcodbuscar.Text then begin Showmessage(' Registro No Existe '); end else EdCodBuscar.text:= Temp.Fields[0].AsString; EDfechaBuscar.text:= Temp.Fields[1].AsString; EDPaisBuscar.Text:= Temp.Fields[2].AsString; end else if EDPaisbuscar.Text <> '' then begin Temp.SQL.Add(' where Pais = '+EDPaisBuscar.Text); Temp.Active := True; if Temp.RecordCount= 0 Then ShowMessage('Registro No Existe'); EdCodBuscar.Text:= Temp.Fields[0].AsString; EdFechaBuscar.Text:= Temp.Fields[1].AsString; EDPaisBuscar.Text:= Temp.Fields[2].AsString; [delphi] |
[delphi]
//Busca Registros en la Base de Dato por Codigo y Pais Temp.close; Temp.SQL.Text := 'Select codigo, fecha, Pais From Pais '; if edcodbuscar.Text <> '' then begin Temp.SQL.Add(' where codigo = '+EdCodBuscar.Text); Temp.Active := True; If Temp.Fields[0].AsString <> edcodbuscar.Text then begin Showmessage(' Registro No Existe '); end else EdCodBuscar.text:= Temp.Fields[0].AsString; EDfechaBuscar.text:= Temp.Fields[1].AsString; EDPaisBuscar.Text:= Temp.Fields[2].AsString; end else if EDPaisbuscar.Text <> '' then begin Temp.SQL.Add(' where Pais = '+EDPaisBuscar.Text); Temp.Active := True; if Temp.RecordCount= 0 Then ShowMessage('Registro No Existe'); EdCodBuscar.Text:= Temp.Fields[0].AsString; EdFechaBuscar.Text:= Temp.Fields[1].AsString; EDPaisBuscar.Text:= Temp.Fields[2].AsString; [\delphi] |
|
revisa el ultimo que te envie ecfisa
|
Hola Agustin.
Probá de este modo:
Saludos. :) |
ecfisa mi hermano funciono perfectamente bien gracias
pero una pregunta mas como uso el "like" eso se utiliza para completa las palabras en la busqueda verdad o no Ejemplo yo tengo un nombre por decir Agustin en la base dato si pongo agu me lo busca asi es como funciona o si no podrias explicarmercalo por favor |
Hola Agustin.
El operador LIKE tiene dos comodines: _ y % _ : En el lugar va cualquier caracter %: Ningún o más caracteres. Para realizar una busqueda incremental usando LIKE poné un (IBQuery,Query o ADOQuery) un TEdit y este código en su evento OnChange:
Saludos. :) |
muchas gracias hermano por tu explicacion
|
La franja horaria es GMT +2. Ahora son las 00:16:48. |
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