Ver Mensaje Individual
  #2  
Antiguo 28-11-2006
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Reputación: 22
Bicho Va por buen camino
Hola huwabe78, primero de todo, darte la bienvenida al ClubDelphi, recomendar una lectura de la Guía de Estilo
y aprender a usar los tag para envolver el código.

Vayamos a tú pregunta:

El problema, es que lo estás montando mal.

El adoquery tiene una propiedad llamada SQL de tipo string, que es la que debes usar para insertar las sentencias SQL que quieras ejecutar.
Tras rellenar esta propiedad, para ejecutarla puedes usar el método Open o la propiedad Active ponerla a true, en el caso de las sentencias de consultas. Para las sentencias que impliquen alteración de los datos (insert, delete, update, create, drop, etc) debes usar el método ExecSQL.

Una vez ejecuta la sentencia, para recuperar los datos, si debes usar la propiedad FieldByName para leer cada campo devuelto.

Tu caso podría quedar de la siguiente manera:

Código Delphi [-]
 AdoQuery1.Close; //Cerramos la consulta por si ya estuviera abierta.
 AdoQuery1.SQL.Clear; //Limpiamos el texto del SQL por si hubiera texto de consultas anteriores
 AdoQuery1.SQl.Text := 'select nombre from clientes where codigo ="'+edit_nombre.Text+'" '; //Ponemos la consulta en el SQL.Text
 AdoQuery1.Open; //ejecutamos la sentencia de lectura
edit_codigo.text:=adoquery1.fieldbyname('nombre').asstring; //visualizamos en edit_codigo el valor de la columna nombre en el primer registro

NOTA: El texto que debes introducir en el paréntesis de FieldByName() es el nombre del campo entre comilla simple del que quieres recuperar. Puedes usar tambien la propiedad Fields[indice] que es igual que FieldByName, pero en lugar de pasarle un nombre de campo le pasas el índice del campo en la select.

Espero te sirva, cualquier duda ya sabes.

Saludos
Responder Con Cita