支持Qt的数据库系统的数据类型

Data Types for Qt-supported Database Systems

支持Qt的数据库系统的数据类型

Recommended Data Types for Qt-Supported Database Systems

Qt支持的数据库系统的推荐数据类型

This table shows the recommended data types for extracting data from the databases supported in Qt. Note that types used in Qt are not necessarily valid as input types to a specific database system. e.g., A double might work perfectly as input for floating point records in a particular database, but not necessarily as a storage format for output from that database, because it would be stored with 64-bit precision in C++.

此表显示了用于从Qt中支持的数据库中提取数据的推荐数据类型。请注意,Qt中使用的类型不一定作为特定数据库系统的输入类型有效。例如,double可能完美地用作特定数据库中浮点记录的输入,但不一定作为该数据库输出的存储格式,因为它将以64位精度存储在C++中。

IBM DB2 Data Types

IBM DB2数据类型

IBM DB2 data type

IBM DB2数据类型

SQL type description

SQL类型描述

Recommended input (C++ or Qt data type)

建议输入(C++或Qt数据类型)

SMALLINT

16-bit signed integer

typedef qint16

INTEGER

32-bit signed integer

typedef qint32

BIGINT

64-bit signed integer

typedef qint64

REAL

32-bit Single-precision floating point

typedef qreal

DOUBLE PRECISION

64-bit Double-precision floating point

Mapped to QString for high precision doubles, otherwise qreal

FLOAT

64-bit Double-precision floating point

typedef qreal

CHAR

Fixed-length, null-terminated character string

Mapped to QString

VARCHAR

Null-terminated varying length string

Mapped to QString

LONG VARCHAR

Not null-terminated varying length character string

Mapped to QString

BLOB

Not null-terminated varying binary string with 4-byte string length indicator

Mapped to QByteArray

CLOB

Character large string object

Mapped to QString

DATE

Null-terminated character string of the following format: yyyy-mm-dd

Mapped to QDate

TIME

Null-terminated character string of the following format: hh.mm.ss

Mapped to QTime

TIMESTAMP

Null-terminated character string of the following format: yyyy-mm-dd-hh.mm.ss.nnnnnn

Mapped to QDateTime

Borland InterBase Data Types

Borland InterBase数据类型

Borland InterBase data type

SQL type description

Recommended input (C++ or Qt data type)

BOOLEAN

Boolean

bool

TINYINT

8 bit signed integer

typedef qint8

SMALLINT

16-bit signed integer

typedef qint16

INTEGER

32-bit signed integer

typedef qint32

BIGINT LONG

64-bit signed integer

typedef qint64

REAL FLOAT

32-bit floating point

typedef qreal

FLOAT

64-bit floating point

typedef qreal

DOUBLE

64-bit floating point

typedef qreal

DOUBLE PRECISION

64-bit Double-precision floating point

Mapped to QString for high precision doubles, otherwise qreal

VARCHAR STRING

Character string, Unicode

Mapped to QString

CLOB

Character large string object

Mapped to QString

DATE

Displays date. Format: 'yyyy-mm-dd'

Mapped to QDate

TIME

Displays time. Format is 'hh:mm:ss' in 24-hour format

Mapped to QTime

TIMESTAMP

Displays a timestamp. Format is 'yyyy-mm-dd hh:mm:ss'

Mapped to QDateTime

MySQL Data Types

MySQL数据类型

MySQL data type

SQL type description

Recommended input (C++ or Qt data type)

TINYINT

8 bit signed integer

typedef qint8

TINYINT UNSIGNED

8 bit unsigned integer

typedef quint8

SMALLINT

16-bit signed integer

typedef qint16

SMALLINT UNSIGNED

16-bit unsigned integer

typedef quint16

INT

32-bit signed integer

typedef qint32

INT UNSIGNED

32-bit unsigned integer

typedef quint32

BIGINT

64-bit signed integer

typedef qint64

FLOAT

32-bit Floating Point

typedef qreal

DOUBLE

64-bit Floating Point

Mapped to QString for high precision doubles, otherwise qreal

CHAR

Character string

Mapped to QString

VARCHAR

Character string

Mapped to QString

TINYTEXT

Character string

Mapped to QString

TEXT

Character string

Mapped to QString

MEDIUMTEXT

Character string

Mapped to QString

LONGTEXT

Character string

Mapped to QString

CLOB

Character large string object

Mapped to QString

all BLOB types

BLOB

Mapped to QByteArray

DATE

Date without Time

Mapped to QDate

DATETIME

Date and Time

Mapped to QDateTime

TIMESTAMP

Date and Time

Mapped to QDateTime

TIME

Time

Mapped to QTime

YEAR

Year (int)

Mapped to QDateTime

ENUM

Enumeration of Value Set

Mapped to QString

Oracle Call Interface Data Types

Oracle调用接口数据类型

Oracle Call Interface data type

SQL type description

Recommended input (C++ or Qt data type)

NUMBER

FLOAT, DOUBLE, PRECISIONc REAL

Mapped to QString for high precision doubles, otherwise qreal

NUMBER(38)

INTEGER INT SMALLINT

typedef qint8/16/32/64

NUMBER(p,s)

NUMERIC(p,s) DECIMAL(p,s)a

By default mapping to QString

NVARCHAR2(n)

Character string (NATIONAL CHARACTER VARYING(n) NATIONAL CHAR VARYING(n) NCHAR VARYING(n))

Mapped to QString

NCHAR(n)

Character string (NATIONAL CHARACTER(n) NATIONAL CHAR(n) NCHAR(n))

Mapped to QString

CHAR(n)

Character string (CHARACTER(n) CHAR(n))

Mapped to QString

CLOB

Character large string object

Mapped to QString

BLOB

A binary large object

Mapped to QByteArray

TIMESTAMP

Year, month, and day values of date, as well as hour, minute, and second values of time

Mapped to QDateTime

ODBC Data Types

ODBC数据类型

ODBC data type

SQL type description

Recommended input (C++ or Qt data type)

BIT

Boolean

BOOL

TINYINT

8 bit integer

typedef qint8

SMALLINT

16-bit signed integer

typedef qint16

INTEGER

32-bit signed integer

typedef qint32

BIGINT

64-bit signed integer

typedef qint64

REAL

32-bit Single-precision floating point

typedef qreal

FLOAT

64-bit Double floating point

typedef qreal

DOUBLE

64-bit Double floating point

Mapped to QString for high precision doubles, otherwise qreal

CHAR

Character string

Mapped to QString

VARCHAR

Character string

Mapped to QString

LONGVARCHAR

Character string

Mapped to QString

CLOB

Character large string object

Mapped to QString

DATE

Character string

Mapped to QDate

TIME

Character Time, Character string

Mapped to QTime

TIMESTAMP

Character Time, Character string

Mapped to QDateTime

PostgreSQL Data Types

PostgreSQL数据类型

PostgreSQL data type

SQL type description

Recommended input (C++ or Qt data type)

BOOLEAN

Boolean

bool

SMALLINT

16-bit signed integer

typedef qint16

INTEGER

32-bit signed integer

typedef qint32

BIGINT

64-bit signed integer

typedef qint64

REAL

32-bit variable-precision floating point

typedef qreal

DOUBLE PRECISION

64-bit variable-precision floating point

Mapped to QString for high precision doubles, otherwise qreal

DECIMAL VARIABLE

user-specified precision, exact

typedef qreal

NUMERIC VARIABLE

user-specified precision, exact

typedef qreal

VARCHAR

variable-length character string

Mapped to QString

CHARACTER

Character string of fixed-length

Mapped to QString

TEXT

Character string of variable-length

Mapped to QString

CLOB

Character large string object

Mapped to QString

TIMESTAMP

8 bytes, both date and time

Mapped to QDateTime

TIMESTAMP

8 bytes, both date and time, with time zone

Mapped to QDateTime

DATE

4 bytes, dates only

Mapped to QDate

TIME

8 bytes, times of day only 00:00:00.00 - 23:59:59.99

Mapped to QTime

TIME

12 bytes times of day only, with time zone 00:00:00.00+12

Mapped to QDateTime

QSQLITE SQLite version 3 Data Types

QSQLITE SQLite版本3数据类型

QSQLITE SQLite version 3 data type

SQL type description

Recommended input (C++ or Qt data type)

NULL

NULL value.

NULL

INTEGER

Signed integer, stored in 8, 16, 24, 32, 48, or 64-bits depending on the magnitude of the value.

有符号整数,存储在8、16、24、32、48或64位中,具体取决于值的大小。

typedef qint8/16/32/64

REAL

64-bit floating point value.

64位浮点值。

typedef qreal

TEXT

Character string (UTF-8, UTF-16BE or UTF-16-LE).

通用行字符串(UTF-8、UTF-16BE或UTF-16-LE)。

Mapped to QString

CLOB

Character large string object

字符大字符串对象

Mapped to QString

BLOB

The value is a BLOB of data, stored exactly as it was input.

该值是一个BLOB数据,完全按照输入时的方式存储。

Mapped to QByteArray

© 2023 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Qt提供了一套功能强大的数据库模块用于对数据进行增删改查操作。通过Qt数据库模块,我们可以方便地连接和操作各种类型的数据库,如MySQL、SQLite、Oracle等。 在Qt中,我们首先需要使用QSqlDatabase类来创建数据库连接。可以通过给定数据库类型、主机名、端口号、数据库名称、用户名和密码等信息来获取一个数据库连接对象。 接下来,我们需要使用QSqlQuery类来执行数据库操作语句,如增加(插入)、删除、修改(更新)和查询操作。QSqlQuery除了可以执行SQL语句,还可以获取查询结果集等操作。通过调用exec()函数可以执行SQL语句,并通过lastError()函数可以获取执行过程中的错误信息。 对于增加操作,我们可以使用INSERT INTO语句将数据插入到数据库表中。可以通过setValuse()函数来绑定参数的值,然后通过调用exec()函数执行INSERT语句。 对于删除操作,我们可以使用DELETE FROM语句来删除数据库表中的数据。可以通过WHERE子句来指定删除条件,通过调用exec()函数执行DELETE语句。 对于修改操作,我们可以使用UPDATE语句来更新数据库表中的数据。可以通过SET子句来设置更新的字段和值,通过WHERE子句来指定更新条件。同样,通过调用exec()函数执行UPDATE语句。 对于查询操作,我们可以使用SELECT语句来从数据库表中检索数据。通过调用exec()函数执行SELECT语句后,可以通过next()函数依次访问查询结果集,并通过value()函数获取相应字段的值。 除了以上常用的操作,Qt还提供了各种其他数据库操作函数和类,如事务处理、预处理语句等,以满足不同需求。在操作完数据库后,我们需要关闭数据库连接,通过调用close()函数实现。 总之,Qt数据库模块提供了简单易用的接口,使得我们可以方便地对数据进行增删改查操作,有效地管理和操作数据库。 ### 回答2: Qt是一款跨平台的开源C++开发框架,提供了丰富的数据库操作功能,可以方便地对数据进行增删改查操作。 首先,连接数据库。使用Qt提供的QSqlDatabase类,可以连接多种类型的数据库,如MySQL、SQLite等。通过设置数据库的连接参数,如主机名、用户名、密码等,可以连接到数据库服务器。 接下来,进行数据的增加。通过执行SQL INSERT语句,可以将新的记录插入到数据库表中。首先,创建QSqlQuery对象,然后调用exec()方法执行INSERT语句,即可将数据插入到数据库中。 然后,进行数据的查询。使用SELECT语句可以从数据库中检索出所需的数据。同样,通过创建QSqlQuery对象,调用exec()方法执行SELECT语句,可以获取查询结果。通过遍历结果集,可以获取到每一条记录的数据。 进行数据的修改。使用UPDATE语句可以修改数据库中的记录。同样,通过创建QSqlQuery对象,调用exec()方法执行UPDATE语句,即可对数据库进行修改。 最后,进行数据的删除。使用DELETE语句可以从数据库中删除记录。同样,通过创建QSqlQuery对象,调用exec()方法执行DELETE语句,即可删除数据库中的数据。 总之,Qt提供了方便易用的数据库操作功能,可以通过简单的代码实现数据的增删改查。开发者只需了解基本的SQL语句和Qt数据库操作接口,就可以轻松处理各种数据库操作需求。 ### 回答3: Qt是一个强大的跨平台开发框架,它提供了Qt Sql模块,用于对数据库进行增删改查操作。 1. 增加数据:可以通过Qt提供的QSqlQuery类来执行SQL语句实现数据的插入操作。首先,创建一个QSqlQuery对象,然后使用exec()方法执行插入数据的SQL语句。 2. 删除数据:同样可以使用QSqlQuery类来执行SQL语句实现数据的删除操作。创建QSqlQuery对象,然后使用exec()方法执行删除数据的SQL语句。 3. 修改数据:通过QSqlQuery类,可以执行SQL语句实现数据的修改操作。创建一个QSqlQuery对象,然后使用exec()方法执行修改数据的SQL语句。 4. 查询数据:Qt提供了QSqlQuery类来执行SQL语句实现数据的查询操作。首先,创建一个QSqlQuery对象,然后使用exec()方法执行查询数据的SQL语句。可以通过next()方法迭代获取查询结果集中的各条数据,并可以通过value()方法获取具体的字段值。 在进行数据库操作前,需要先建立数据库连接。Qt提供了QSqlDatabase类来管理数据库连接,可以使用addDatabase()方法创建一个数据库连接对象,然后使用setHostName()、setDatabaseName()、setUserName()、setPassword()等方法设置连接信息,最后使用open()方法打开数据库连接。 同样,数据的增删改查操作完成后,需要及时关闭数据库连接,以释放资源。可以使用QSqlDatabase类的close()方法关闭数据库连接。 总结:Qt提供了丰富的类和方法,用于对数据库进行增删改查操作。开发者可以根据具体的需求,利用Qt数据库模块灵活地操作数据库,实现各种数据处理功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值