Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <iostream>
- #include "D:\Root_D\Учеба\SQLite\Work\sqlite3.h"
- #include <vector>
- using namespace std;
- void main(void)
- {
- sqlite3 *db;
- sqlite3_stmt * pStmt;
- int i, j, coln, rc;
- int b = 1;
- //char *sql[] = {"SELECT * FROM log_list;"};
- char *sql[] = {"SELECT number AS 'Number',login AS 'Login',password AS 'Pasword',rights AS 'Rights' FROM log_list;"};
- rc = sqlite3_open16(L"D:\\Root_D\\Учеба\\SQLite\\Work\\BD.bd", &db);
- if( rc )
- {
- fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
- sqlite3_close(db);
- }
- for (i=0; i<sizeof(sql)/sizeof(sql[0]); i++)
- {
- // шаг 1 подготовка SQL инструкции к выполнению
- //(компиляция ее в байт-код)
- if (sqlite3_prepare(db, sql[i], -1, &pStmt, NULL))
- {
- printf("Error: %s\n", sqlite3_errmsg(db));
- sqlite3_finalize(pStmt);
- sqlite3_close(db);
- system("pause");
- exit(1);
- }
- // получения количества столбцов
- coln = sqlite3_column_count(pStmt);
- // печать названий столбцов только 1 раз
- if (b & coln)
- {
- for(j=0; j<coln; j++)
- printf("%s\t", sqlite3_column_name(pStmt, j));
- printf("\n");
- b = 0;
- }
- // шаг 2 выполнение SQL инструкций
- while((rc = sqlite3_step(pStmt)) == SQLITE_ROW)
- {
- // тело цилка выполнится только для
- //инструкции SELECT
- // для остальных запросов функция
- //sqlite3_step вернет SQLITE_DONE
- // получить число столбцов в текущей строке
- //результата
- coln = sqlite3_data_count(pStmt);
- // шаг 3 получение данных
- for(j=0; j<coln; j++)
- // получение данных как текстовые строки
- // вне зависимости от объявленного типа
- // столбца
- printf("%s\t",sqlite3_column_text(pStmt, j));
- //printf("%s\t",sqlite3_column_type(pStmt, j));
- printf("\n");
- }
- // получение сообщения при ошибке
- if (rc != SQLITE_DONE) printf("Error: %s\n",
- sqlite3_errmsg16(db));
- // шаг 4 завершение выполнения запроса
- sqlite3_finalize(pStmt);
- }
- // закрытие БД
- sqlite3_close(db);
- system("pause");
- fflush(stdin); getchar();
- }
Add Comment
Please, Sign In to add comment