Data Types for Qt-supported Database Systems
Recommended Data Types for Qt-Supported Database Systems
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++.
IBM DB2 Data Types
IBM DB2 data type SQL type description Recommended input (C++ or Qt data type) 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 By default mapping to QString DOUBLE PRECISION 64-bit Double-precision floating point By default mapping to QString FLOAT 64-bit Double-precision floating point By default mapping to QString 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 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 By default mapping to QString FLOAT 64-bit floating point By default mapping to QString DOUBLE 64-bit floating point By default mapping to QString DOUBLE PRECISION 64-bit Double-precision floating point By default mapping to QString 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 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 By default mapping to QString DOUBLE 64-bit Floating Point By default mapping to QString 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 Call Interface data type SQL type description Recommended input (C++ or Qt data type) NUMBER FLOAT, DOUBLE, PRECISIONc REAL By default mapping to QString 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 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 By default mapping to QString FLOAT 64-bit Double floating point By default mapping to QString DOUBLE 64-bit Double floating point By default mapping to QString 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 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 By default mapping to QString DOUBLE PRECISION 64-bit variable-precision floating point By default mapping to QString DECIMAL VARIABLE user-specified precision, exact Mapped to QString NUMERIC VARIABLE user-specified precision, exact Mapped to QString 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 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. typedef qint8/16/32/64 REAL 64-bit floating point value. By default mapping to QString TEXT Character string (UTF-8, UTF-16BE or 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. Mapped to QByteArray
Sybase Adaptive Server Data Types
Sybase Adaptive Server data type SQL type description Recommended input (C++ or Qt data type) BINARY Describes a fixed-length binary value up to 255 bytes in size. Mapped to QByteArray CHAR Character String Mapped to QString DATETIME Date and time. Range: 1753-01-01 00:00:00 through 9999-12-31 23:59:59. Mapped to QDateTime NCHAR Character String of fixed length Mapped to QString NVARACHAR Character String of variable length Mapped to QString VARCHAR Character String of fixed length Mapped to QString CLOB Character large string object Mapped to QString TIMESTAMP A unique number within a database Mapped to QString SMALLDATETIME Date and time. Range: 1900-01-01 00:00 through 2079-12-31 23:59 Mapped to QDateTime UNICHAR Character String of fixed length.(Unicode) Mapped to QString UNIVARCHAR Character String of variable length.(Unicode) Mapped to QString VARBINARY Describes a variable-length binary value up to 255 bytes in size Mapped to QByteArray
SQLite Version 2
SQLite version 2 is "typeless". This means that you can store any kind of data you want in any column of any table, regardless of the declared data type of that column. We recommend that you map the data to QString .
Best Of
Actualités les plus lues
Le Qt Labs au hasard
Les Qt Labs sont les laboratoires des développeurs de Qt, où ils peuvent partager des impressions sur le framework, son utilisation, ce que pourrait être son futur.
Lire l'article.
Communauté
Ressources
Liens utiles
Contact
Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).
Qt dans le magazine