Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Recuperar el índice de un field de una consulta SQL (https://www.clubdelphi.com/foros/showthread.php?t=95031)

santiago14 26-01-2021 14:32:12

Recuperar el índice de un field de una consulta SQL
 
Buenas, necesito recuperar la posición de un campo dentro de una consulta SQL.
Código SQL [-]
sql.add('Select t.Nombre_tit AS NombreTitulo, t.Direccion as Direccion ');
    SQL.Add('From titulos_sec t ');
    sql.Add('Where t.Cod_sec = :Cod_sec ');
    SQL.Add('and t.estado_tit = ''A'' ');
    SQL.Add('Order by t.nombre_tit asc');
    ParamByName('cod_sec').AsInteger:=cod_sec;
Quiero que recupere la posición de "NombreTitulo", que tendría que ser 0, ¿o 1?

Esto es DBExpress, el que viene con Delphi XE5. No estoy pudiendo hacer esto. Gracias miles.



Santiago.

kuan-yiu 26-01-2021 14:46:39

Fields[0] es la primera columna de la query tal y como la hayas definido.

santiago14 26-01-2021 15:00:03

Cita:

Empezado por kuan-yiu (Mensaje 539770)
Fields[0] es la primera columna de la query tal y como la hayas definido.

Claro, esto devuelve el contenido de lo que está en la posición "0". Yo quiero que me devuelva el "0", al revés. Que me diga cuál es la posición dentro de la consulta de ese campo.

¿Se entiende?

santiago14 26-01-2021 15:07:36

Cita:

Empezado por santiago14 (Mensaje 539769)
Buenas, necesito recuperar la posición de un campo dentro de una consulta SQL.
Código SQL [-]
sql.add('Select t.Nombre_tit AS NombreTitulo, t.Direccion as Direccion ');
    SQL.Add('From titulos_sec t ');
    sql.Add('Where t.Cod_sec = :Cod_sec ');
    SQL.Add('and t.estado_tit = ''A'' ');
    SQL.Add('Order by t.nombre_tit asc');
    ParamByName('cod_sec').AsInteger:=cod_sec;
Quiero que recupere la posición de "NombreTitulo", que tendría que ser 0, ¿o 1?

Esto es DBExpress, el que viene con Delphi XE5. No estoy pudiendo hacer esto. Gracias miles.



Santiago.

Es así.

Código Delphi [-]
ConsultaExpedientes.Fields.IndexOf(ConsultaExpedientes.FieldByName('NombreTitulo'))

Devuelve la posición del campo que se llama "NombreTitulo"

cloayza 27-01-2021 02:35:27

Estimado Santiago14

Creo que lo que busca lo obtiene con la propiedad FieldNo

Aquí algo de información...

Código Delphi [-]
ConsultaExpedientes.FieldByName('NombreTitulo').FieldNo;

Saludos cordiales


La franja horaria es GMT +2. Ahora son las 01:40:21.

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