Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Como utilizar la variable sacada con un TQuery (https://www.clubdelphi.com/foros/showthread.php?t=15527)

kye_z 26-10-2004 19:29:17

Como utilizar la variable sacada con un TQuery
 
buenas,,

aki estoy de nuevo... os cuento mi actual problema... que gracias a el.. la cosa se va ampliando...

Código:


sqlClasse.SQL.Clear;
                sqlClasse.SQL.Add('select id_classe from classe where nom_classe like "' + nomClasse.Text + '"');
                sqlClasse.ExecSQL;
                idClasse:=sqlClasse;<.. aki es donde tengo el problemilla....

me interesa meter la respuesta de la consulta dentro de la variable idClasse. La consulta en qüestion solo saca un valor. (un nuemero para ser esactos) i me interesa guardarla dentro de la variable idClasse. me podriais ayudar?!

muchissimas gracias por adelantado!!

maeyanes 26-10-2004 19:43:21

Prueba con:

Código Delphi [-]
  idClasse := sqlClasse.Fields[0].AsInteger;

o también:

Código Delphi [-]
  idClasse := sqlClasse.FieldByName('id_classe').AsInteger;

kye_z 26-10-2004 20:22:58

asias!!!

k haria yo sin vuestra ayuda!! :S

jejeje :D muchas gracias d verdad!!! ta la proxima!!!

kye_z 27-10-2004 10:14:54

Os escrivo aqui como ha quedao el codigo....

Código:


                sqlClasse.SQL.Clear;
                sqlClasse.SQL.Add('select id_classe from classe where nom_classe like "' + nomClasse.Text + '"');
                sqlClasse.ExecSQL;
                sqlClasse.Active:=true;
                idClasse:=sqlClasse.Fields.Fields[0].AsString;

al principio me saltava una excepcion en el fields!! pero mirando i mirando el codigo i buscando otros problemillas por el foro he visto que muchos despues del execSQL poneis el active := true! asi que me he decidido por hacerlo yo tb!!! i al final perfecto!!

muchas gracias de antemano!!

defcon1_es 27-10-2004 13:40:48

Estas 2 líneas no tienen lógica, a mi parecer :D, porque el método ExecSQL "creo" (no lo he probado) que no hace nada en este caso.
Código Delphi [-]
 
        sqlClasse.ExecSQL;
        sqlClasse.Active:=true;

sustituyelas por
Código Delphi [-]
 
        sqlClasse.Open;

Recomendación:

El método ExecSQL debes usarlo para sentencias SQL que no devuelven un cursor a datos, es decir, INSERT, UPDATE, DELETE, y CREATE TABLE.
Para cualquier sentencia SELECT, usa el método Open (o pon la propiedad Active := True)

Salu2.


La franja horaria es GMT +2. Ahora son las 05:05:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi