Ver Mensaje Individual
  #1  
Antiguo 02-04-2011
aagrlp640 aagrlp640 is offline
Miembro
NULL
 
Registrado: abr 2011
Ubicación: México
Posts: 12
Reputación: 0
aagrlp640 Va por buen camino
Question Problema al ejecutar un query

Hola amigos de la comunidad clubdelphi, soy nuevo en Delphi, me da gusto que existan paginas así donde nos podamos ayudar los unos a los otros, les comento acerca de mi problema.
Mi problema es que al ejecutar un Query me manda el siguiente error:
Cita:
Project Projet1.exe raised exception class EDBEngineError with message ‘Invalid filed name juan’. Process stopped. Use Step or Run to continue.
Eso de “Invalid field name juan” es porque yo pongo juan en un edit, juan es un registro que si existe en la bd.
A continuación pongo mi código:
Código Delphi [-]
procedure TForm1.cmdloginClick(Sender: TObject);
var consulta: string; user: string; 
begin
user:= edit1.Text; //en este edit pongo por ejemplo juan que si existe en la bd
//Creo la consulta
consulta:='SELECT Usuario FROM bdusuarios.db WHERE usuario=' + user; //Este Query es el que me manda error
//Limpio la posible consulta
query1.SQL.Clear;
//Añado la consulta al query
query1.SQL.Add(consulta);
//La ejecuto 
query1.Open;
//Voy al primer registro
query1.First;
//Muestro el resultado también en un showmessage
while not query1.Eof do
begin
showmessage(query1.FieldValues['Usuario']);
query1.next;
end;
end;
De hecho en esa parte de:
Código Delphi [-]
consulta:='SELECT Usuario FROM bdusuarios.db WHERE usuario=' + user;
También le he puesto como aparece abajo y así sí me lo muestra bien
Código Delphi [-]
consulta:='SELECT Usuario FROM bdusuarios.db WHERE usuario=”juan”';
Otro problema que tengo es que cuando quiero mostrar varios campos por ejemplo:
Código Delphi [-]
consulta:='SELECT Usuario, Password FROM bdusuarios.db WHERE usuario=”juan”';
me manda este mensaje:
Cita:
Project Project1.exe raised exception class EDBEngineError with message ‘Invalid use of keyword.
Token: Password
Line Number: 1’. Process stopped. Use Step or Run to continue.
De hecho cuando lo pongo como aparece abajo si me los muestra bien todos
Código Delphi [-]
consulta:='SELECT * FROM bdusuarios.db WHERE usuario=”juan”';

Uso Delphi 7 y para la base de datos uso paradox 7 que viene incluida en delphi, uso el componente TQuery, TDataSource y un TDBGrid para mostrar los resultados.
Sólo tengo una tabla que de campos tiene: usuario, password, tipo_usuario.
Gracias ojala puedan ayudarme con este problema.
Saludos
Responder Con Cita