读书人

怎么读取access数据库中某个字段的类型

发布时间: 2012-02-22 19:36:55 作者: rapoo

如何读取access数据库中某个字段的类型
问个问题
我想从一个access表中读出字段的类型和长度 应该怎么做

我的想法是用txlFieldList:=adoconnection1.DataSets[0].Fields[0].DataType;
然后赋值给一个数组abc[0]:=txlFieldList;
可是提示错误为[Error] Unit1.pas(59): Record, object or class type required
有谁能指点下么?

[解决办法]
这样啊,实际上你确实没有任何数据集

你要动态建一个TADOTAble 把 TableName指向 枚举中的表名中的一个

用一个Loop一个个 把Table都打开,把字段名与属性都取出来

或放一个Table组件

在Loop中变换表名 Open 取属性 Close..下一个,,就行了
[解决办法]
现在的问题是adoconnection1.DataSets[0].Fields[0].DataType; 这一句出现错误 错误是下标越界

-----------------------------
问题起因:
你的问题就是因为 adoconnection1.DataSetCount=0,导致这个问题的原因是你的 Button1Click 里头运行到txlFieldList:=adoconnection1.DataSets[0].Fields[0].DataType; 语句时,adoconnection1关联DataSet没有一个打开过。

解决办法:
可以运行一个查询,即可得到你要获取表的相关字段信息。
...
adoconnection1.GetFieldNames(tab,txlTableList);
adoquery1.SQL.Clear;
adoquery1.SQL.Add( 'select * from '+tab+' where 1<0');
adoquery1.Open;
txlFieldList:=adoconnection1.DataSets[0].Fields[0].DataType;
...

读书人网 >.NET

热点推荐