Delphi - select con sql

 
Vista:

select con sql

Publicado por julio ramos (22 intervenciones) el 17/08/2005 15:31:20
Hola grupo

soy nuevo es esto y quiero que me ayuden en algo

Como puedo meter lo que me debuelve este query en un edit
el edit se llama clave.text
query1.SQL.Add('SELECT usuarioID FROM usuario');
Query1.SQL.Add('WHERE usuarioID = usuario.text;');

La idea es que quiero implementar un login llamando la informacion de una base de datos
lo que tengo es lo siguiente

usuario usuario.text
clave clave.text

Botton (OK)

entences en el botton quiero meter el codigo

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:select con sql

Publicado por BigLuis (713 intervenciones) el 17/08/2005 17:51:30
En primer lugar la consulta solamente te devuelve el valor de un campo=usuarioID por lo que solamente puedes obtener este valor de la siguiente forma Edit1.text:=Query1.Fieldbyname('usuarioID').asstring;
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:select con sql

Publicado por julio ramos (22 intervenciones) el 17/08/2005 18:44:11
Me esta dando el siguiente error:

proyectsistema.exe raised exception class EDatabaseError with message 'query1:field 'usuario' not found".process stopped. use step or run to continue

codigo

query1.Close;
fecha.Text := DateToStr(Date);
hora.text := TimeToStr(Time);

Query1.SQL.Add('SELECT usuarioID FROM usuario');
Query1.SQL.Add('WHERE usuarioID = "jramos";');
usuario.text:=Query1.Fieldbyname('usuarioID').asstring;
Query1.ExecSQL;
query1.Open;

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:select con sql

Publicado por Dr Juzam (821 intervenciones) el 17/08/2005 21:26:23
Construir SQLs así es buscarse un montón de problema. Siempre recomiendo el uso de parámetros.

Qry1.SQL.Add ('Select UsuarioID from usuario where usuarioID=:Parametro1');
Qry1.Parameters[0].Value:='jramos';
...

De todos modos, no tiene mucho sentido buscar el usuarioID cuando le pasamos el usuarioID como parámetro de búsqueda (es algo así como "búscame todos los pacos que se llamen paco").
Además, para una instrucción de búsqueda se debe hacer Qry1.Open, no ExecSQL (que es para modificaciones de la base de datos).

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:select con sql

Publicado por julio ramos (22 intervenciones) el 17/08/2005 22:20:01
De esta menera me da el mismo error

codigo
Query1.SQL.Add ('Select UsuarioID from usuario where usuarioID=:Parametro1');
Query1.Params[0].Value:='jramos';
usuario.text:= Query1.Fieldbyname('usuarioID').asstring;

Lo que quiero es meter el select que recorro en el usuario.text que es un edit

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:select con sql

Publicado por BigLuis (713 intervenciones) el 18/08/2005 09:43:46
Y siempre te dara el error porque estas asignando a usuario.text el valor de un campo que no existe, porque lo haces antes de abrir la consulta
"
codigo
Query1.SQL.Add ('Select UsuarioID from usuario where usuarioID=:Parametro1');
Query1.Params[0].Value:='jramos';
usuario.text:= Query1.Fieldbyname('usuarioID').asstring;<<<<<<error
Query1.Open<<<<<<<<<<<<<<<<<<<<<<<<<<<??????????????????????????
"
Prueba de esta forma
"
codigo
Query1.SQL.Add ('Select UsuarioID from usuario where usuarioID=:Parametro1');
Query1.Params[0].Value:='jramos';
Query1.Open<<<<<<<<<<<<<<<<<<<<<<<<<<<
usuario.text:= Query1.Fieldbyname('usuarioID').asstring;
"
Pero opino lo mismo que Dr Juzam, no entiendo para que quieres recuperar un valor que tu pasas como parametro. En fin misterios de la vida.....
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:select con sql

Publicado por julio ramos (22 intervenciones) el 18/08/2005 17:19:36
Gracias por la ayuda

Lo que sucede es que soy nuevo en esto de programacion y estaba probando
para ver como obtenia algunos datos con base de datos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:select con sql

Publicado por julio ramos (22 intervenciones) el 18/08/2005 23:06:06
Amigos, como le decia tengo este codigo para practicar algunas consulta para luego trabajar con un proyecto

este codigo cuando pongo el usuario y clave y ejecuto el botton funciona bien
pero luego cuando lo ejecuto otra vez sin cerrar la aplicaion me da el siguiente error

codigo

begin

Query1.SQL.Add ('Select clave,usuarioid from usuario where usuarioID=:Parametro1');
Query1.Params[0].Value:=usuario.Text;
Query1.Open;
clave1 := Query1.Fieldbyname('clave').asstring;
usuario1 := Query1.Fieldbyname('usuarioid').asstring;
edit1.Text := clave1;
edit2.Text := usuario1;
if clave.Text = clave1 then
showmessage ('Bien')
else
showmessage ('Mal');

end;

error:

proyect.sql.exe raised exception class EDBEngineError with message 'query returned multiple result.sets,',process stopped

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:select con sql

Publicado por Dr Juzam (821 intervenciones) el 18/08/2005 23:18:25
Prueba con cerrar el Query (yo lo suelo hacer al principio de cada proceso que se usa un Query):

Query1.Close; //Cerramos el Query
Query1.SQL.Clear; //Limpiamos el texto SQL antes de introducir ninguna instrucción

Query1.SQL.Add ('Select clave,usuarioid from usuario where usuarioID=:Parametro1');
Query1.Params[0].Value:=usuario.Text;
Query1.Open;
clave1 := Query1.Fieldbyname('clave').asstring;
usuario1 := Query1.Fieldbyname('usuarioid').asstring;
edit1.Text := clave1;
edit2.Text := usuario1;
if clave.Text = clave1 then
showmessage ('Bien')
else
showmessage ('Mal');

Un saludo.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar