使用 Qt
,我必须连接到数据库并从表中列出列的类型和名称。我有两个约束:
1 数据库类型一定不是问题(这必须在 PostgreSQL
、SQL Server
、MySQL
上工作,...)
2 当我在互联网上查看时,我找到了可行的解决方案,但前提是表中有一个或多个记录。而且我必须将有或没有记录的列的类型和名称获取到该数据库中。
我在互联网上搜索了很多,但没有找到任何解决方案。
我正在寻找 Qt/C++
中的答案或使用可以做到这一点的查询。
感谢您的帮助!
最佳答案
QSqlDriver::record()
接受一个表名并返回一个 QSqlRecord
,您可以使用 QSqlRecord::field()< 从中获取字段
.
所以,给定一个 QSqlDatabase
数据库,
- 使用
db.driver()
获取驱动程序, - 使用
db.tables()
获取表列表, - 从
driver->record(tableName)
中为每个表获取一个QSqlRecord
,并且 - 使用
record.count()
获取字段数,使用record.field(x)
获取名称和类型
关于c++ - Qt/SQL - 从没有记录的表中获取列类型和名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18829018/