如何知道字段的属性?
我想知道某个字段是数字类型还是字符串类型,应该怎样做呢? 问题点数:20、回复次数:5Top
1 楼fengzhengren(风筝)回复于 2005-06-01 15:19:30 得分 10
用GetEnumName得到。
uses
TypInfo;
放一个TQuery,连接到数据库,SQL: 'select * from Table1'
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
Query1.Open;
for i:=0 to Query1.FieldCount-1 do
Memo1.Lines.Add(Query1.Fields[i].FieldName+':'+GetEnumName(TypeInfo(TFieldType),Integer(Query1.Fields[i].DataType))+':'+IntToStr(Query1.Fields[i].DataSize));
Query1.Close;
end;
Top
2 楼wenjianyao(建)回复于 2005-06-01 15:45:18 得分 2
呵呵,帮顶Top
3 楼hansonboy(hansonboy)回复于 2005-06-01 16:38:49 得分 0
数据库是SQL server2000怎么不行的Top
4 楼hansonboy(hansonboy)回复于 2005-06-02 11:45:20 得分 0
upTop
5 楼cimssoft(楚狂客)回复于 2005-06-02 12:04:20 得分 8
直接使用Fields[i].DataType
其中
property DataType: TFieldType;
TFieldType在delphi的帮助文件中有描述的,这里帮你贴一下
Value Description
-----------------------------------------------------------
ftUnknown Unknown or undetermined
ftString Character or string field
ftSmallint 16-bit integer field
ftInteger 32-bit integer field
ftWord 16-bit unsigned integer field
ftBoolean Boolean field
ftFloat Floating-point numeric field
ftCurrency Money field
ftBCD Binary-Coded Decimal field that can be converted to Currency type without a loss of precision.
ftDate Date field
ftTime Time field
ftDateTime Date and time field
ftBytes Fixed number of bytes (binary storage)
ftVarBytes Variable number of bytes (binary storage)
ftAutoInc Auto-incrementing 32-bit integer counter field
ftBlob Binary Large OBject field
ftMemo Text memo field
ftGraphic Bitmap field
ftFmtMemo Formatted text memo field
ftParadoxOle Paradox OLE field
ftDBaseOle dBASE OLE field
ftTypedBinary Typed binary field
ftCursor Output cursor from an Oracle stored procedure (TParam only)
ftFixedChar Fixed character field
ftWideString Wide string field
ftLargeint Large integer field
ftADT Abstract Data Type field
ftArray Array field
ftReference REF field
ftDataSet DataSet field
ftOraBlob BLOB fields in Oracle 8 tables
ftOraClob CLOB fields in Oracle 8 tables
ftVariant Data of unknown or undetermined type
ftInterface References to interfaces (IUnknown)
ftIDispatch References to IDispatch interfaces
ftGuid globally unique identifier (GUID) values
ftTimeStamp Date and time field accessed through dbExpress
ftFMTBcd Binary-Coded Decimal field that is too large for ftBCD.Top




