Я работаю над программой, чтобы быстро проверить все таблицы в файле .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