dataset.Fields[0].DataType
返回为: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
自己写一个函数来判断。如下
function tytostr(ty:tfieldtype):string;
var dt:string;
vdt:variant;
begin
vdt:=ty;
dt:=string(vdt);
result:=dt;
end;
然后找一个含有VARCHAR字段和CHAR字段的DB2表。
用以下语句。
showmessage(tytostr(table1.fieldbyname('varchar字段名').datatype));
showmessage(tytostr(table1.fieldbyname('char字段名').datatype));
从显示的数字就可以看出类型了,不过要注意,数字是以0开头的,所以显示0表示的是第一个ftunknow.显示6表示的是第七个ftfloat,就是你打出的表上的顺序。