C # / Access Получение первичных ключей из Access 2003 - PullRequest
0 голосов
/ 26 июня 2009

Я использую OleDb для взаимодействия с базой данных Access и пытаюсь выяснить, как получить первичные ключи каждой таблицы, но таким образом, чтобы они были связаны с таблицами. Другими словами, я не просто хочу получить плоский список имен столбцов первичного ключа - я хочу иметь возможность определить, к какой таблице они принадлежат.

Есть идеи, как это сделать? Я использовал метод GetSchema() для получения таблицы таблиц, но информация этой таблицы, похоже, не включает первичные ключи (или любые другие индексы в этом отношении).

Ответы [ 2 ]

1 голос
/ 26 июня 2009

Хорошо - немного вывел имена столбцов и лучше понял, как связаны таблицы схем.

Для этого передайте строку «Индексы» методу GetSchema(). Каждая запись в таблице индексов содержит имя таблицы и то, является ли индекс первичным ключом.

0 голосов
/ 27 июня 2009

Я думаю, что вы имеете в виду, что для каждого FOREIGN KEY в схеме вы хотите узнать имя ссылочной таблицы. Из быстрого Google кажется, что это может быть невозможно:

Microsoft Connect: DbConnection.GetSchema: нет способов получить столбцы внешних ключей

... что странно, потому что с помощью метода OpenSchema ADO classic (COM, а не .NET) вы можете.

...