Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Tipo de campos (https://www.clubdelphi.com/foros/showthread.php?t=9145)

Anunakis 15-04-2004 13:09:34

Tipo de campos
 
Hola,

Necesito saber como puedo estraer el tipo de datos de un datatype a una variable String ya que el tipo de dato es de TFieldType.

He probado lo siguiente pero no funciona:

[i]If DataModule.T_Table1.FieldDefList.FieldDefs.DataType = ftInteger then

Sera una tonteria y doy las gracias anticipadas.

Ah! otra cosa. Estoy empezando con ADOX y se como se crea un Catalog nuevo (un mdb nuevo) y lo que quiero es establecer la conexion de una existente pero no se como se hace. He encontrado unas propiedades que son Set_ActiveConnection(pVal:OleVariant); y _Set_ActiveConnection(const pVal: IDispath); y la funcion Get_ActiveConnnection: OleVariant;
¿Como le paso la cadena String a estos procedimientos?

Gracias de nuevo

Lepe 15-04-2004 14:47:10

A tu primera pregunta:
Código:

for j:=0 to table1.fieldcount-1 do
case Table1.fields[j].DataType of
              ftUnknown            : TipoDato:= 'Unknown or undetermined';
              ftString            : TipoDato:=        'Character or string field';
              ftSmallint          : TipoDato:=        '16-bit integer field ';
              ftInteger                  : TipoDato:= '32-bit integer field';
              ftWord                    : TipoDato:= '16-bit unsigned integer field';
              ftBoolean                  : TipoDato:= 'Boolean field';
              ftFloat                    : TipoDato:= 'Floating-point numeric field';
              ftCurrency          : TipoDato:= 'Money field';
end

Saludos

Anunakis 16-04-2004 10:35:48

Ya lo probe con un case pero me da el mismo error. Me dice:

Undeclared identifier: "ftString"
Undeclared identifier: "ftInteger"
etc...

No ara falta algun uses o algo? Es que no veo normal que los ejemplos que veo en internet y los que me decis vosotros vayan y ami no. Os escribo todo el codigo para que lo veais:

[i]case DM.T_Table1.FieldDefList.FieldDefs.DataType of
ftString : Tabla1.Cells[i,i+1] := 'String';
ftInteger : Tabla1.Cells[i,i+1] := 'Integer';
end;

Tambien he probado con esto y nada:

[i]if DM.T_Table1.Fields.DataType = ftString then
Tabla1.Cells[i,i+1] := 'String';

Gracias

__cadetill 16-04-2004 10:48:30

Cita:

Empezado por Anunakis
No ara falta algun uses o algo?

Correcto, es la unit DB y los tipos disponibles son

Código:

  TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord,
    ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime,
    ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo,
    ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString,
    ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob,
    ftVariant, ftInterface, ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd);


Anunakis 16-04-2004 16:32:23

OK muchas gracias, era eso lo que me fallaba.


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

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