Как получить доступ к свойствам поля первичного ключа в Microsoft Access? - PullRequest
0 голосов
/ 25 июня 2019

Я работаю над программой, чтобы быстро проверить все таблицы в файле .mdb, чтобы убедиться, что ни одно из свойств ее первичного ключа не было изменено.Однако мне трудно понять, как проверить свойства полей первичных ключей.

Мне удалось получить все первичные ключи и их схему с помощью OleDbSchemaTable.Однако свойства, которые он перечисляет, не совсем то, что я ищу.

foreach (string table in tablenames)
{

    System.Console.WriteLine("*****" + table + "*****");

    DataTable schemaTable = (cnn as OleDbConnection).GetOleDbSchemaTable(OleDbSchemaGuid.Primary_Keys,
                                       new Object[] { null, null, table});

    int columnOrdinalForName = schemaTable.Columns["COLUMN_NAME"].Ordinal;

    foreach (DataRow r in schemaTable.Rows)
    {

        string keyName = r.ItemArray[columnOrdinalForName].ToString();

        System.Console.WriteLine("\t" + keyName);

        foreach (DataColumn myProperty in mySchema.Columns)
        {

            Console.WriteLine(myProperty.ColumnName + " = " + r[myProperty].ToString());
        }
        Console.WriteLine();
    }

Это информация, которую я хочу получить:

***** TABLE_NAME *****

PRIMARY_KEY_NAME

Размер поля = Длинное целое число

Новые значения = Приращение

Формат =

Заголовок =

Индексируется = Да (Дубликаты в порядке)

Выравнивание текста = Общее

вместо этого:

***** TABLE_NAME *****

PRIMARY_KEY_NAME

TABLE_CATALOG =

TABLE_SCHEMA =

TABLE_NAME = TABLE_NAME

COLUMN_NAME = PRIMARY_KEY_NAME

COLUMN_GUID =

1044

1044 *1044* 1044 *1044* 1044 *1044* 1044 *1044* 1044 *1044* 1044 *1044* 1044 *1044* 1044 *1044* 1044 *1044* 1044 *1044* 1044 *1044* 1044 *1044* 1044 *1044* 1044 *1044* 1044 *1044* ORDINAL = 2

PK_NAME = PrimaryKey

Вот информация, которую я пытаюсь получить: https://imgur.com/a/pXCLB9e

...