C#/ Access从Access 2003获取主键

时间:2009-06-26 15:44:29

标签: c# ms-access schema oledb

我正在使用OleDb与Access数据库进行交互,我正在尝试找出如何获取每个表的主键,但是这样它们与表相关联。换句话说,我不只是想要一个主键列名称的平面列表 - 我希望能够确定它们属于哪个表。

知道怎么做吗?我使用GetSchema()方法获取表的表,但该表的信息似乎不包括主键(或任何其他索引)。

2 个答案:

答案 0 :(得分:1)

好的 - 稍微输出了一些列名,并更好地理解了架构表的相关性。

为此,将字符串“Indexes”传递给GetSchema()方法。索引表中的每条记录都包含表名以及索引是否为主键。

答案 1 :(得分:0)

我认为你的意思是,对于模式中的每个FOREIGN KEY,您要发现引用表的名称。从快速谷歌似乎这可能是不可能的:

Microsoft Connect: DbConnection.GetSchema: no ways to get foreign keys' columns

...这很奇怪,因为你可以使用ADO classic(COM,而不是.NET)的OpenSchema方法。