Форум программистов, компьютерный форум CyberForum.ru

Правильно прочитать данные из базы данных - C++

Восстановить пароль Регистрация
 
Dr.Xank
41 / 41 / 12
Регистрация: 13.10.2012
Сообщений: 368
01.08.2015, 17:24     Правильно прочитать данные из базы данных #1
Всем привет.

Суть проблемы следующая

Использую базу данных SQLLite, на кириллице и английские символы читает нормально, а вот иероглифы(китайские, японские) не читает, выводит одни знаки вопроса.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
sqlite3 *db;
    sqlite3_stmt * pStmt;
    int i, j, coln, rc;
    int b = 1;
       //"SELECT build, date FROM version;"
 
    AnsiString str =  "SELECT " + nameColumn + " FROM " +  NameTabl + ";";
    // открытие (создание) ЅЖ’
 
    if (sqlite3_open("live.db", &db))
    {
        sqlite3_close(db);
    }
 
        // шаг 1 подготовка SQL инструкции к выполнению
        //(компиляция ее в байт-код)
        if (sqlite3_prepare(db, str.c_str(), -1, &pStmt, NULL))
        {
            sqlite3_finalize(pStmt);
            sqlite3_close(db);
        }
        // шаг 2 выполнение SQL инструкций
 
        while((rc = sqlite3_step(pStmt)) == SQLITE_ROW)
        {
            coln = sqlite3_data_count(pStmt);
            for(j=0; j<coln; j++)
            {
            // получение данных как текстовые строки
            // вне зависимости от объявленного типа
            // столбца
              AnsiString otwet;
               UnicodeString Zapros;
               otwet.printf("%s",sqlite3_column_text(pStmt, j));
               Zapros = UTF8ToUnicodeString(otwet);
               Zapros = "insert into [" + NameTanlBase +"].[" + NameTabl +"] values('" + Zapros + "');";
               baseSQL->Add(Zapros);//Это список.
            }
            //printf("\n");// для разделения строк.
        }
        baseSQL->Add("");
        // получение сообщени¤ при ошибке
        // шаг 4 завершение выполнени¤ запроса
        sqlite3_finalize(pStmt);
 
 
    // закрытие БД’
    sqlite3_close(db);
как можно это исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2015, 17:24     Правильно прочитать данные из базы данных
Посмотрите здесь:

прочитать данные из файла в матрицу с указанной позиции C++
C++ Использование псевдопеременных: bd (3,5) = s, где bd - база данных, s - элемент базы данных, тогда с 3 по 5 элементы базы данных заменить на элемент s.
C++ Не могу прочитать данные
Как правильно прочитать данные? C++
Как правильно прочитать объявление? C++
Прочитать данные из файла C++
C++ Прочитать данные из файла и построить график
Как прочитать данные pdf C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 04:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru