Дерекқорлармен жұмыс істеуге тура келетін 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 түріне ауыстырылды және бәрі жойылды.