Я пишу в C # для базы данных Access ...
Я могу получить все таблицы в моей базе данных доступа со следующими данными:
DataTable dataTbl;
DataView dvCols;
DataRowView drvCols;
...
dataTbl = m_connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
new Object[] { null, null, null, "TABLE" });
dvCols = new DataView(dataTbl);
for (int j = 0; j < dvCols.Count; j++)
{
drvCols = dvCols[j];
tableName = drvCols.Row["TABLE_NAME"].ToString();
// ...
}
Проблема в том, что этот код получает имена таблиц в алфавитном порядке.Теперь, если бы я читал столбцы из определенной таблицы, я мог бы сортировать по порядковому положению, используя
dvCols.Sort = "ORDINAL_POSITION";
Однако с таблицами это невозможно, на самом деле я не думаю, что это порядковый номер.Мои таблицы имеют отношения, например, таблица A имеет отношение один ко многим с таблицей B, которая имеет отношение один ко многим с таблицей C и т. Д. Итак, мне нужно получить имена таблиц в таком порядке, например, A, затем B, затем C.
Есть ли способ сделать это?
Нужно ли мне как-то исследовать первичные и внешние ключи и выяснить эту информацию самостоятельно?