FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
Hola Agustin.
¿ Cuál es el error que te dá ? Aunque mirando por arriba, la sentencia: Cita:
Saludos. Última edición por ecfisa fecha: 09-10-2010 a las 01:07:14. |
#3
|
|||
|
|||
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. |
#4
|
|||
|
|||
si la puse completa ahora mirala
|
#5
|
|||
|
|||
[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] |
#6
|
|||
|
|||
[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] |
#7
|
|||
|
|||
|
#8
|
|||
|
|||
revisa el ultimo que te envie ecfisa
|
#9
|
||||
|
||||
Hola Agustin.
Probá de este modo:
Saludos. Última edición por ecfisa fecha: 09-10-2010 a las 01:53:05. |
#10
|
|||
|
|||
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 |
#11
|
||||
|
||||
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. Última edición por ecfisa fecha: 09-10-2010 a las 07:36:18. |
#12
|
|||
|
|||
muchas gracias hermano por tu explicacion
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
registro no existe | agustin173 | Varios | 19 | 15-06-2010 23:56:14 |
saber que no existe registro de ese campo | Petolansa | SQL | 4 | 31-07-2008 01:42:10 |
Como decirle a Delphi que existe un registro | gasparsi | MySQL | 5 | 30-05-2008 11:56:47 |
Verificando si un registro existe | Angel Fernández | Firebird e Interbase | 9 | 26-03-2008 18:45:21 |
No me encuentra un registro que existe, puse mal el where? | Eden | SQL | 2 | 13-02-2006 07:30:49 |
|