TQuery

Again...!... Necesito hacer una consulta utilizando un TQuery, dada una cadena a introducir en un TEdit...
Por decir un ejemplo:
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('SELECT Nombre, Email FROM Datos.db');
Query1.SQL.Add('WHERE Nombre ='+Edit1.Text);
query1.execsql;
Es una prueba pero no me funciona... ¿Puedes ayudarme?
Gracias de nuevo.

1 Respuesta

Respuesta
1
En vez de execsql tenés que poner:
Query1.Open;
El execsql se usa para Querys que no devuelven datos, por ejemplo, los inserts, updates y deletes.
Si te sirvió, califícame en TodoExpertos. Ya sé que es fácil la respuesta, pero si sirve...
Si no, no se me ocurre otra cosa, avisame.
Marcelo
Ok!, lo del método Open queda claro, gracias, aunque no era la finalidad de mi pregunta... En si lo que quiero saber, es lo referente a la linea:
Query1.SQL.Add('WHERE Nombre ='+Edit1.Text);
No me queda clara la sintaxis en cuanto al +Edit1.Text, ya que a la hora de ejecutarlo me marca error, la consulta la quiero hacer en base a una cadena introducida en un Edit1.Text...
Gracias.
No será que no tenés nada en el Edit1. ¿Text?
Además te comento que en vez de usar el SQL. Add, podes usar directamente la propiedad SQL.Text (te evitás hacer todos los SQL. Clear).
Lo que no sé es por qué no te anda... ¿será qué son tablas Paradox? Probá sacarle el .db del nombre de la tabla. Además... está bien configurada la base de datos (el TDatabase, digo).
Otra: Probaste si anda sin la cláusula WHERE? Por ahí te das cuenta de qué parte está errada.
Otra: Antes de abrir la consulta, no probaste ver lo que contiene la propiedad Query1. ¿SQL? Hacé un ShowMessage(Query1.SQL.Text) y fíjate.
Avisame si no te sale... creo que si no te sale es porque hay algo que estás haciendo mal.
Marcelo
PD: Ahora que me doy cuenta, también podría ser que estés olvidándote de ponerle las comillas antes y después del Edit1.Text!
Probá con:
SQL.Add(' WHERE Nombre = ' + QuotedStr(Edit1.Text);
Otro posible error: te estás olvidando de dejar los espacios entre datos.db y WHERE.
Bueno, tenés bastante para probar.
Ok amigo, era un problema con las comillas, efectivamente... agregué QuotedStr(Edit1.text) y quedo listo... Muchas gracias por el interés puesto.
Saludos

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas