2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 [C++Builder XE] Sqlite3 настройка
Сообщение13.05.2012, 16:34 


27/12/11
34
Немогу найти нормальных статей по sqlite3 в C++ Builder XE.
Кто умеет юзать прошу помоч.
А именно:
Создание
Отрытие
Добовление полей
Сохранение

 Профиль  
                  
 
 Re: [C++Builder XE] Sqlite3 настройка
Сообщение13.05.2012, 19:25 
Заслуженный участник


09/09/10
3729
Насколько я помню, сляпываем строчку с sql-запросом и вызывам sql3_execute или что-то вроде.

 Профиль  
                  
 
 Re: [C++Builder XE] Sqlite3 настройка
Сообщение13.05.2012, 22:05 


27/12/11
34
Если не знаешь или не помнишь не отвечай.

Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
   
      предложи лучше конкретный код

}

 Профиль  
                  
 
 Re: [C++Builder XE] Sqlite3 настройка
Сообщение13.05.2012, 22:09 
Админ форума
Аватара пользователя


19/03/10
8952
by_trojan в сообщении #570479 писал(а):
Если не знаешь или не помнишь не отвечай.
 !  by_trojan, замечание за фамильярность. Читайте Правила форума:
Правила форума в http://dxdy.ru/post27356.html#p27356 писал(а):
1) Нарушением считается:

е) ..., фамильярность (у нас принято обращаться друг к другу на "Вы")...

 Профиль  
                  
 
 Re: [C++Builder XE] Sqlite3 настройка
Сообщение14.05.2012, 14:41 
Заслуженный участник


09/09/10
3729
Используется синтаксис C++
int sqlite3_open(
  const char *filename,   /* Database filename (UTF-8) */
  sqlite3 **ppDb          /* OUT: SQLite db handle */
);

int sqlite3_open16(
  const void *filename,   /* Database filename (UTF-16) */
  sqlite3 **ppDb          /* OUT: SQLite db handle */
);

Это создание/открытие БД, вы получаете хэндл.

Используется синтаксис C++
int sqlite3_prepare_v2(
  sqlite3 *db,            /* Database handle */
  const char *zSql,       /* SQL statement, UTF-8 encoded */
  int nByte,              /* Maximum length of zSql in bytes. */
  sqlite3_stmt **ppStmt,  /* OUT: Statement handle */
  const char **pzTail     /* OUT: Pointer to unused portion of zSql */
);

int sqlite3_prepare16_v2(
  sqlite3 *db,            /* Database handle */
  const void *zSql,       /* SQL statement, UTF-16 encoded */
  int nByte,              /* Maximum length of zSql in bytes. */
  sqlite3_stmt **ppStmt,  /* OUT: Statement handle */
  const void **pzTail     /* OUT: Pointer to unused portion of zSql */
);

Пихаете сюда SQL-запрос в zSql, получаете скомпилированный запрос, который и скармливаете в...

Используется синтаксис C++
int sqlite3_step(sqlite3_stmt*);

Вот и все. Пример:

код: [ скачать ] [ спрятать ]
Используется синтаксис C++
sqlite3 *db;

if (sqlite3_open16("test.db",  &db)) {
  cerr << "Can't open database: " << sqlite3_errmsg(db);
  sqlite3_close(db);
  return;
}

const char[] sql = "CREATE TABLE TestTable (KeyField INTEGER CONSTRAINT c00 PRIMARY KEY AUTOINCREMENT, DataField TEXT);";
sqlite3_stmt *stmt;
if (sqlite3_prepare16_v2(db, sql, strlen(sql), &stmt, NULL)) {
  cerr << "Wrong SQL statement: " << sqlite3_errmsg(db);
  sqlite3_finalize(stmt);
  sqlite3_close(db);
}

sqlite3_step(stmt);
sqlite3_finalize(stmt);
sqlite3_close(db);

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group