如何获得已打开的表的字段的类型?(50分)

  • 主题发起人 主题发起人 xjbkqag
  • 开始时间 开始时间
X

xjbkqag

Unregistered / Unconfirmed
GUEST, unregistred user!
表动态打开的。
 
数据集中所有的字段在TDataSet.Fields中
每一个字段的类型可通过TDataSet.Fields.Fields[Index].DataType来获得
 
edit.text:= table1.Fields.DataSet.FieldDefs[listbox1.ItemIndex].DataType;
为何不行?
请指教!
 
DataType属性的类型是TFieldType(枚举类型)
可使用
edit.text :=
GetEnumName(TypeInfo(TFieldType),
Ord(table1.Fields.DataSet.FieldDefs[listbox1.ItemIndex].DataType));
取值为字符串。
该函数在TypInfo单元中
 
抱歉:
如何使用TypeInfo?GetEnumName?
 
1、在uses中添加TypeInfo
2、在相应的位置写
edit.text :=
GetEnumName(TypeInfo(TFieldType),
Ord(table1.Fields.DataSet.FieldDefs[listbox1.ItemIndex].DataType));
 
[Fatal Error] Unit1.pas(9): File not found: 'TypeInfo.dcu'
 
我使用SQL server 7.0 ,我还想知道 字段的长度,是否可以为空,
这在哪儿去找呢?
 
TypeInfo写错!谢谢!
 
sorry
刚才一个笔误:应为TypInfo单元(我前面的回答是正确的)
字段的长度和是否为空都是TField的属性,
同样可用TDataSet.Fields.Fields[Index].Size
和TDataSet.Fields.Fields[Index].isNull来获得
 
后退
顶部