Я создаю приложение с использованием Qt / C ++, которое должно иметь возможность подключаться к различным типам баз данных и получать его структуру и информацию оттуда. Что касается структуры БД, я нашел методы, как получить список таблиц и их столбцов без знания типа БД, используя что-то вроде этого:
QSqlDatabase db_ = QSqlDatabase::addDatabase(dbType);
db_.setDatabaseName(dbName);
db_.setUserName(user);
db_.setPassword(password);
db_.setHostName(hostName);
db_.setPort(port);
QStringList tables = db_.tables();
auto driver = db_.driver();
QSqlRecord record = driver->record(tableName);
QStringList fields;
for (int i = 0; i < record.count(); i++) {
fields.append(record.field(i).name());
}
Но я не могу найти какой-либо способ получить внешние ключи в таблице без использования прямых запросов к БД. Я был бы очень благодарен за вашу помощь.
Задача ещё не решена.
Других решений пока нет …