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

Считать содержимое BLOB поля из базы данных SQlite, используя API функций С/С++ - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Итераторы (пример использования итератора для шаблона, к примеру списка) http://www.cyberforum.ru/cpp-beginners/thread887260.html
Доброго времени суток. Форумчани, приведите пожалуйста пример использования итератора для шаблона, к примеру списка. Зараннее благодарен. И если не трудно, разъяснить что это такое и с чем его едят
C++ модуль числа всем приветик. помогите пожалуйста исправить ошибку. вот условие и пример: #include <iostream.h> #include <stdio.h> #include <math.h> int main() { int k,m,rez; cout << "vvedite k,m" << endl; http://www.cyberforum.ru/cpp-beginners/thread887251.html
Проверьте что работает не правильно (задать значения вещественным элементам матриц) C++
Вот задание: Задать значения вещественным элементам матриц А = {аij} и Q = {qij}, где i = 0, 1, 2,..., 6; j = 0, 1, 2,..., 4 и сформировать массивы B и R, состоящие из минимальных элементов столбцов матриц A и Q соответственно. Суть в том, что не правильно создается новый массив, скорей всего проблема в условии создания нового массива, подскажите кто что сможет. Вот код:
При нажатии на V меняется вид фигуры C++
помогите переделать, что бы при нажатии на V квадрат менялся на круг и обратно. class SETKA : public FIGURE { public: SETKA() { razmer=30; xc=3; yc=3;
C++ Конструкторы и детекторы. Создание классов и объектов http://www.cyberforum.ru/cpp-beginners/thread887246.html
Напишите программу, использующую класс(классы) для структуры данных по заданию. Задание. Структура: struct date {int day; char*month; int year;} Критерий для поиска в массиве структур: Зимние даты после 2000 года. Опишите конструктор по умолчанию, конструктор с параметром, конструктор копирования, деструктор, функции добавления элемента, удаления элемента, просмотра структуры, как...
C++ Как научиться создавать на C++ простые приложения (очень простые игры)? Помогите, я хочу научится создавать какието для начала очень простые игры, приложения. но я вооще ничего не знаю :wall: не знаю с чего начать, что куда прописывать, и как сохранить в ехе формате, пробовал многое...ноль на массу..... помогите а, с чего начать?(анг. не знаю) хотя бы самый простой проект, что бы смог понять что к чему. что за чем? ДРУЗЬЯ ПОМОГИТЕ!!!!!!!!!!!!!!!!!!!!:help: Заранее... подробнее

Показать сообщение отдельно
MalinChyn
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 7
02.06.2013, 08:01  [ТС]     Считать содержимое BLOB поля из базы данных SQlite, используя API функций С/С++
Цитата Сообщение от Убежденный Посмотреть сообщение
The return value from sqlite3_column_blob() for a zero-length BLOB is a NULL pointer.
Спасибо за замечание, хотя я и читал документацию, свалил возвращаемое нулевое значение не на свою ошибку, а на что-то другое.

Цитата Сообщение от Убежденный Посмотреть сообщение
Вы уверены, что перед вызовом sqlite3_column_blob выполнили
правильный SELECT-запрос
Да, Вы правы. Как оказалось, я ошибся, когда перечислял нужные столбцы в переменную char *query. Код тестового приложения выглядел примерно так:

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
sqlite3* db = 0; 
        void* buff;     
 
        if (sqlite3_open("Название базы данных", &db) != SQLITE_OK)
        {
            MessageBoxA (NULL, "Не удалось открыть базу данных", "Ошибка открытия базы данных", MB_OK);
            sqlite3_close (db);                 
        }
 
 
            sqlite3_stmt *statement; 
            char *query = "select нужный столбец1, нужный столбец2, нужный столбец3, date_created from название таблицы";
            if (sqlite3_prepare (db, query, -1, &statement, 0) == SQLITE_OK)    // Если БД готова к считыванию
            {
 
                int ctotal = sqlite3_column_count (statement);  // сtotal хранит количество столбцов в БД
                int res = 0;    // Хранит результат считывания следующего элемента
 
                while (1)   // Начать считывание данных из БД      
                {                   
                    res = sqlite3_step (statement);
 
                    if (res == SQLITE_ROW) // Если удачно считана новая строка БД
 
                    {
 
                        buff = (BYTE*) sqlite3_column_blob (statement, 4);
                        int bytes = sqlite3_column_bytes (statement, 4);
                        
                        }
                        }   // Конец пробега по строке в БД
                        
                    }   // Конец ветки удачного считывания новой строки из БД
 
                    if (res == SQLITE_DONE || res == SQLITE_ERROR)    // Если считана вся БД или произошла ошибка,
                        break;  // то остановить считывание данных из БД    
                } 
            }
 
 
            sqlite3_close (db);
Спасибо большое за помощь, всё работает, как нужно.
 
Текущее время: 22:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru