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)
-   -   variables en llamado a columnas (https://www.clubdelphi.com/foros/showthread.php?t=83924)

giocatore 16-08-2013 08:39:03

variables en llamado a columnas
 
buenas noches, quisiera me orienten con la siguiente duda:

Accedo a las columnas de una tabla Ado de la siguiente forma

Adotable1['Enero'];
pero quisiera que el nombre de la columna provenga de una variable que yo controle ej:

var
mes:=combobox1.text; // el combobox con los 12 meses

y quisiera saber si existe una manera de acceder a la columna con los datos de la variable, intenté esto

adotable1[mes];

pero dá error espero puedan ayudarme

Gracias

Casimiro Notevi 16-08-2013 08:57:08

Cita:

Empezado por giocatore (Mensaje 465652)
pero dá error espero puedan ayudarme

Al menos, copia el error que lo veamos ;)

Neftali [Germán.Estévez] 16-08-2013 09:43:56

Pues eso no debería dar problemas, de ahí que sea importante lo que te ha puesto Casimiro.

La otra opción es FirldByName, que funciona de forma similar al código que has puesto.

Código Delphi [-]
ADOTable1.['Codigo'].AsString

....

ADOTable1.FieldByName('Codigo').AsString

ecfisa 16-08-2013 21:17:50

Cita:

Empezado por giocatore (Mensaje 465652)
buenas noches, quisiera me orienten con la siguiente duda:

Accedo a las columnas de una tabla Ado de la siguiente forma
Código Delphi [-]
Adotable1['Enero'];
pero quisiera que el nombre de la columna provenga de una variable que yo controle ej:
Código Delphi [-]
var
mes:=combobox1.text; // el combobox con los 12 meses
y quisiera saber si existe una manera de acceder a la columna con los datos de la variable, intenté esto
Código Delphi [-]
adotable1[mes];
pero dá error espero puedan ayudarme

Hola giocatore.

La sintáxis es correcta, no hay inconveniente en usar: ADOTable[variable_string].

El problema es que no creo que el nombre del campo sea 'Enero' pienso que mas bién se debe llamar 'Mes' o algo similar.
Es más, me jugaría entero a que el error es: "ADOTable1:Campo 'Enero' no encontrado."... :rolleyes:

Para que salgas de toda duda hacé la prueba con este simple código:
Código Delphi [-]
...
implementation

procedure TForm1.FormCreate(Sender: TObject);
var
  i: Integer;
begin
  ADOTable1.Open;
  for i:= 0 to ADOTable1.FieldCount-1 do
    ComboBox1.Items.Add(ADOTAble1.Fields[i].FieldName);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if ComboBox1.ItemIndex <> -1 then
    ShowMessage(ADOTable1[ComboBox1.Text]);
end;

Saludos. :)

giocatore 17-08-2013 06:49:34

holaa, gracias a todos por sus respuestas, ecfisa tienes razón en lo del nombre del campo fué un error al escribir la pregunta, pero por lo del error por algún motivo (no se si fallá de delphi o qué pasó,el error ya no aparece) por lo que el tema está claro y respondido gracias por su tiempo

Saludos!!


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

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