sqlite3在C 中的步驟及示例

2021-08-21 20:29:31 字數 3451 閱讀 9922

開發語言:c++。

sqlite-dll-win32-x86-3170000.zip檔案解壓到d:\ sqlite。

執行visual studio 2005 command prompt命令列程式。

啟動位置:開始程式->microsoft visual studio 2012->visual studio tools->visual studio 2012 command prompt。

依次執行控制台命令。

[plain]view plain

copy

cd d:\sqlite\sqlite-dll-win32-x86-3071300  

d:  

lib /def:sqlite3.def /machine:ix86  

即可生成sqlite3.lib檔案。

sqlite-tools-win32-x86-3170000.zip檔案解壓到d:\ sqlite。

啟動命令列,進入d:\ sqlite目錄。

命令依次為:

[plain]view plain

copy

cd d:\sqlite  

d:  

建立test.db測試檔案。

建立user表。

欄位code

字段型別

字段描述

idinteger

主鍵,自增

name

varchar(64)

使用者名稱age

integer

年齡建立命令依次如下。

[plain]view plain

copy

d:\sqlite>sqlite3.exe test.db  

sqlite version 3.7.13 2017-03-30 11:25:22  

enter ".help" for instructions  

enter sql statements terminated with a ";"  

sqlite> create table user  

...> (  

...> id integer primary key autoincrement,  

...> name varchar(64),  

...> age integer  

...> );  

sqlite> .quit  

建立win32控制台工程sqlitetest。

sqlite3.h(在sqlite-amalgamation-3170000.zip壓縮包中)新增到工程。

sqlite3.lib複製到工程資料夾下。

工程屬性中新增sqlite3.lib庫依賴。

configuration properties->linker->input->additional dependencies新增sqlite3.lib。

程式**為:

[cpp]view plain

copy

/* @brief 本程式測試sqlite資料庫的增刪改查 

@date 2012-09-03 

*/  

//   

#include "stdafx.h"  

#include "sqlite3.h"  

#include 

using namespace std;  

sqlite3 * pdb = null;  

//增加使用者  

bool adduser(const string& sname, const string& sage);  

//刪除使用者  

bool deleteuser(const string& sname);  

//修改使用者  

bool modifyuser(const string& sname, const string& sage);  

//查詢使用者  

bool selectuser();  

int _tmain(int argc, _tchar* argv)  

//新增「趙錢孫李」  

if (    !adduser("zhao", "18")  

|| !adduser("qian", "19")  

|| !adduser("sun", "20")  

|| !adduser("li", "21"))  

//刪除「趙」  

if (!deleteuser("zhao"))  

//修改「孫」  

if (!modifyuser("sun", "15"))  

//查詢使用者  

if (!selectuser())  

quit:  

sqlite3_close(pdb);  

return 0;  

}  bool adduser(const string& sname, const string& sage)  

else  

return true;  

}  bool deleteuser(const string& sname)  

else  

return true;  

}  bool modifyuser(const string& sname, const string& sage)  

else  

return true;  

}  static int userresult(void *notused, int argc, char **argv, char **azcolname)  

cout<

return 0;  

}  bool selectuser()  

return true;  

}  編譯成功後,將sqlite3.dll複製到sqlitetest.exe同一目錄下,執行sqlitetest.exe。

執行結果:

[plain]view plain

copy

add user success: zhao  18  

add user success: qian  19  

add user success: sun   20  

add user success: li    21  

delete user success: zhao  

modify user success: sun        15  

id = 2, name = qian, age = 19,  

id = 3, name = sun, age = 15,  

id = 4, name = li, age = 21,  

視覺化管理工具,推薦使用:sqlite expert,見:

C 使用dapper操作 SQLite3 的示例

using system.collections.generic using system.data using system.data.sqlite using system.linq using sqlitedemo.model namespace sqlitedemo 此處需要特別注意,這個 ...

SQLITE3在php中的運用

php中操作sqlite3資料庫的類檔案。一般用法 db new spsqlite3 filepath 開啟此路徑資料庫檔案 sql select from tablename 查詢記錄 sql2 delete from tablename 刪除表內所有記錄 db exec sql sql 執行查詢...

SQLite3中TimeStamp的使用問題

color blue 在使用sqlite3時使用了timestamp,但是遇到一些問題,現總結如下 一 我的sql語句 create table logs id integer primary key,idcardno varchar 50 createdtime timestamp not nul...