QSql Namespace

QSql 命名空间里的各种名样的标识符, 被运用在 Qt SQL 各个模块中. More...

头文件: #include <QSql>
qmake: QT += sql

Types

enum Location { BeforeFirstRow, AfterLastRow }
enum NumericalPrecisionPolicy { LowPrecisionInt32, LowPrecisionInt64, LowPrecisionDouble, HighPrecision }
flags ParamType
enum ParamTypeFlag { In, Out, InOut, Binary }
enum TableType { Tables, SystemTables, Views, AllTables }

详细描述

See also Qt SQL.

Type Documentation

enum QSql::Location

此枚举类型描述特殊的 sql 导航位置:

ConstantValueDescription
QSql::BeforeFirstRow-1在第一个记录之前.
QSql::AfterLastRow-2在最后一个记录之后.

另见 QSqlQuery::at().

enum QSql::NumericalPrecisionPolicy

数据库中的数值可以比它们对应的C++类型更精确. 此枚举列出在应用程序中表示此类值的策略.

ConstantValueDescription
QSql::LowPrecisionInt320x01强转为32位的整形数值. 在浮点数的情况下, 小数部分将会被舍去.
QSql::LowPrecisionInt640x02强转为32位的整形数值. 在浮点数的情况下, 小数部分将会被舍去.
QSql::LowPrecisionDouble0x04强转为 double 值. 这个默认的规则.
QSql::HighPrecision0使用字符串保持精度.

注意: 如果特定的驱动发生溢出, 这是一个真实行为. 像 Oracle 数据库在这种情形下, 就会返回一个错误.

enum QSql::ParamTypeFlag
flags QSql::ParamType

这个枚举用于指定绑定参数的类型.

ConstantValueDescription
QSql::In0x00000001这个参数被用于向数据库里写入数据.
QSql::Out0x00000002这个参数被用于向数据库里获得数据.
QSql::InOutIn | Out这个参数被用于向数据库里写入数据; 使用查询来向数据库里重写数据.
QSql::Binary0x00000004如果你想指定数据为 原始的二进制数据, 那么必须是或运算和其他的标志一起使用.

类型定义为 QFlags<ParamTypeFlag>. 它被存放在类型参数标志的或运算组合.

enum QSql::TableType

这个枚举类型描述 SQL 表格的类型.

ConstantValueDescription
QSql::Tables0x01所有表格可被用户查看的.
QSql::SystemTables0x02数据库使用的内部表格.
QSql::Views0x04所有视图对用户都是可见的.
QSql::AllTables0xff包含以上所有类型.