我正在使用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());
}
但我没有找到任何方法来获取表中的外键而不使用直接查询到DB。我非常感谢你的帮助。