代码之家  ›  专栏  ›  技术社区  ›  sergtk

C/Access从Access 2003获取主键

  •  -1
  • sergtk  · 技术社区  · 15 年前

    我正在使用OLEDB与一个Access数据库进行交互,我正试图找出如何获取每个表的主键,但这样它们就与表相关联了。换句话说,我不希望只列出主键列名的简单列表——我希望能够确定它们属于哪个表。

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

    2 回复  |  直到 15 年前
        1
  •  1
  •   sergtk    15 年前

    好的——做了一些列名输出,并且更好地理解了模式表是如何相关的。

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

        2
  •  0
  •   onedaywhen    15 年前

    我认为您的意思是,对于模式中的每个外键,您都希望发现被引用表的名称。从一个快速的谷歌,这似乎是不可能的:

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

    …这很奇怪,因为使用ADO Classic(com,而不是.net)的OpenSchema方法可以。