我想用 C# 获取 Access 数据库中所有表和 odbc 数据源的结构。所以我尝试了这段代码:
string text="";
var tables = GetApp().CurrentData.AllTables;
for (int i = 0; i < tables.Count; i++)
{
var currentTable = tables.Item(i);
text = text + currentTable.FullName + Environment.NewLine;
}
MessageBox.Show(text);
这将返回所有可用的表名称。但是如何获取表的列名和类型呢?
我试过这个:
var props = currentTable.Properties;
for (int j = 0; j < props.Count; j++)
{
var prop = props.Item(j);
text = text + Environment.NewLine + prop.Name;
}
但它不起作用(当我访问属性时抛出异常)。
我尝试使用 oleDB 连接 + GetSchema 来获取表结构。但通过这种方法,我只收到了 access-db 内的“本机”(或本地)表。但还有一些我也感兴趣的 ODBC-Linked-Tables。
那么如何获取 ms-access 数据库文件中的表名、列名和列类型呢?
你需要使用CurrentDb().TableDefs
如果你想访问表列。这AllTables
集合不提供对表字段的访问。
CurrentDb().TableDefs[0].Fields[0].Name
例如,应返回第一个表的第一列的名称。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)