我正在使用OleDb与Access数据库进行交互,我正在尝试找出如何获取每个表的主键,但是这样它们与表相关联。换句话说,我不只是想要一个主键列名称的平面列表 - 我希望能够确定它们属于哪个表。
知道怎么做吗?我使用GetSchema()
方法获取表的表,但该表的信息似乎不包括主键(或任何其他索引)。
答案 0 :(得分:1)
好的 - 稍微输出了一些列名,并更好地理解了架构表的相关性。
为此,将字符串“Indexes”传递给GetSchema()
方法。索引表中的每条记录都包含表名以及索引是否为主键。
答案 1 :(得分:0)
我认为你的意思是,对于模式中的每个FOREIGN KEY,您要发现引用表的名称。从快速谷歌似乎这可能是不可能的:
Microsoft Connect: DbConnection.GetSchema: no ways to get foreign keys' columns
...这很奇怪,因为你可以使用ADO classic(COM,而不是.NET)的OpenSchema方法。