Evgenii Legotckoi
Қар. 20, 2015, 9:23 Т.Қ.

Qt/C++ - 040-сабақ. Qt-дегі әртүрлі деректер базаларының деректер түрлері

Дерекқорлармен жұмыс істеуге тура келетін Qt астында қолданбаны әзірлеу кезінде мақсатты дерекқорға арналған Qt драйвері енгізуге болатын деректердің барлық түрлерін қолдамауы мүмкін деген нюансты ескеру қажет. сіздің деректер базаңыз. Мысалы, сайт оқырмандарының бірі тап болған ұқсас мысалдардың бірі QSqlTableModel арқылы DECIMAL деректер түрін көрсету мәселесі болды. Ал C++ Builder бағдарламасында қолданбаны әзірлеу кезінде бұл деректер түрі көріністе тамаша көрсетілді.

Ал жұмыс MS SQL деректер қорымен орындалды, ол үшін ODBC драйвері пайдаланылды. C++ Builder және Qt жүйесіндегі қолданбаларды іске қосу нәтижелері келесі суреттерде көрсетілген. Кестелердің сыртқы түріндегі айырмашылық Qt қолданбасында дерекқордағы деректер түрі ОНДЫҚ деп жарияланған көріністе мәндердің болмауында.


C++ Builder қолданбасы - барлық бағандар толтырылған

Qt қолданбасы - DECIMAL бағандарында мәндер жоқ

Құжаттамадағы деректер түрлерін тексеру

Ресми құжаттама бетіндегі қолдау көрсетілетін деректер түрлерін тексеру кезінде таңдалған драйвер қолдайтын деректер түрлерін және Дерекқорды дәл осы драйвер қолдайтын деректер түріне сәйкес реттеңіз.

ODBC деректер түрлері

ODBC деректер түрі SQL типінің сипаттамасы Ұсынылатын енгізу (C++ немесе Qt деректер түрі)
BIT логикалық BOOL
TINYINT 8 бит бүтін typedef qint8
SMALLINT 16 разрядты таңбалы бүтін typedef qint16
INTEGER 32-биттік таңбалы бүтін typedef qint32
BIGINT 64-биттік таңбалы бүтін typedef qint64
REAL 32-бит Бір дәлдіктегі өзгермелі нүкте Әдепкі бойынша QString
FLOAT 64-бит қос қалқымалы нүкте Әдепкі бойынша QString
ҚОС 64-бит қос қалқымалы нүкте Әдепкі бойынша QString
CHAR Таңба жолы QString
ВАРЧАР Таңба жолы QString
LONGVARCHAR Таңба жолы QString
CLOB Таңбаның үлкен жол нысаны QString
КҮН Таңба жолы QDate
УАҚЫТ Таңба уақыты, Таңба жолы QTime
Уақыт белгісі Таңба уақыты, Таңба жолы QDateTime

Барлығы

Нәтижесінде, ОНДЫҚ түрі жай ғана INTEGER түріне ауыстырылды және бәрі жойылды.

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

Пікірлер

Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
Кіріңіз немесе Тіркеліңіз