PDA

Ver la Versión Completa : Tipo de campos


Anunakis
15-04-2004, 13:09:34
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:

If DataModule.T_Table1.FieldDefList.FieldDefs[i].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:

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:

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

Tambien he probado con esto y nada:

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

Gracias

__cadetill
16-04-2004, 10:48:30
No ara falta algun uses o algo?

Correcto, es la unit DB y los tipos disponibles son


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.