Mega Code Archive

 
Categories / Delphi / ADO Database
 

Tabloda alan tiplerinin bulunmasi

Adi bilinen bir alanin tipini bulmak icin asagidaki fonksiyon kullanilabilir. Function TypeField(DatabaseName, TableName, FieldName: String): String; Var Table : TTable; FieldIndex : Integer; FieldType : TFieldType; Begin Result := ''; If Not IsTable(DatabaseName, TableName) Then Exit; If Not IsField(DatabaseName, TableName, FieldName) Then Exit; Table := TTable.Create(nil); Try Try Table.Active := False; Table.DatabaseName := DatabaseName; Table.TableName := TableName; Table.Active := True; FieldIndex := Table.FieldDefs.IndexOf(FieldName); FieldType := Table.FieldDefs[FieldIndex].DataType; If FieldType=ftUnknown Then Result := 'Unknown'; If FieldType=ftString Then Result := 'String'; If FieldType=ftSmallInt Then Result := 'SmallInt'; If FieldType=ftInteger Then Result := 'Integer'; If FieldType=ftWord Then Result := 'Word'; If FieldType=ftBoolean Then Result := 'Boolean'; If FieldType=ftFloat Then Result := 'Float'; If FieldType=ftCurrency Then Result := 'Currency'; If FieldType=ftBCD Then Result := 'BCD'; If FieldType=ftDate Then Result := 'Date'; If FieldType=ftTime Then Result := 'Time'; If FieldType=ftDateTime Then Result := 'DateTime'; If FieldType=ftBytes Then Result := 'Bytes'; If FieldType=ftVarBytes Then Result := 'VarBytes'; If FieldType=ftBlob Then Result := 'Blob'; If FieldType=ftMemo Then Result := 'Memo'; If FieldType=ftGraphic Then Result := 'Graphic'; {$IFDEF WIN32} If FieldType=ftAutoInc Then Result := 'AutoInc'; If FieldType=ftFmtMemo Then Result := 'FmtMemo'; If FieldType=ftParadoxOle Then Result := 'ParadoxOle'; If FieldType=ftDBaseOle Then Result := 'DBaseOle'; If FieldType=ftTypedBinary Then Result := 'TypedBinary'; {$ENDIF} Except End; Finally Table.Free; End; End;