c++ - Qt/SQL - 从没有记录的表中获取列类型和名称

标签 c++ sql qt types

使用 Qt,我必须连接到数据库并从表中列出列的类型和名称。我有两个约束:

1 数据库类型一定不是问题(这必须在 PostgreSQLSQL ServerMySQL 上工作,...)

2 当我在互联网上查看时,我找到了可行的解决方案,但前提是表中有一个或多个记录。而且我必须将有或没有记录的列的类型和名称获取到该数据库中。

我在互联网上搜索了很多,但没有找到任何解决方案。

我正在寻找 Qt/C++ 中的答案或使用可以做到这一点的查询。

感谢您的帮助!

最佳答案

QSqlDriver::record() 接受一个表名并返回一个 QSqlRecord,您可以使用 QSqlRecord::field()< 从中获取字段.

所以,给定一个 QSqlDatabase 数据库,

  1. 使用 db.driver() 获取驱动程序,
  2. 使用 db.tables() 获取表列表,
  3. driver->record(tableName) 中为每个表获取一个 QSqlRecord,并且
  4. 使用 record.count() 获取字段数,使用 record.field(x) 获取名称和类型

关于c++ - Qt/SQL - 从没有记录的表中获取列类型和名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18829018/

相关文章:

c++ - 尝试没有捕获非整数输入

sql - 显示来自语句 sql 的补充结果

c++ - 将多行 QString 转换为单行 QString

c++ - QString从列表中解析项目

c++ - 观察 QSharedMemory 的变化

c++ - 通过指针访问 C 中 4d 数组中的元素

c++ - 在 std::string 中查找第一个不是空格的字符

c++ - 将 char 数组传递给参数化构造函数

sql - 使用分组依据时如何区分记录?

mysql - SQL 存储过程字符串搜索通过传递的参数和使用 'LIKE' 查询