sqlite在vc下的使用**)
一、sqlite簡介
sqlite 是用c語言編寫的開源資料庫,主要用於嵌入式,你也可以把它整合在自己的桌面程式中,也有人將其替代access,用作後台資料庫。
sqlite 支援多數sql92標準,例如:索引、限制、觸發和檢視支援。
支援 null、integer、real、text 和 blob 資料型別,支援事務。
包括:linux,mac os x, windows下的已編譯檔案以及源**、幫助文件。
vc中使用sqlite
1.將sqlite3.h(d:\sqlite-amalgamation-3_6_23.zip)拷貝到c:\program files\microsoft visual studio\vc98\include目錄下,這時編譯可通過,但鏈結錯誤,因為沒有lib檔案()
2.啟動乙個命令列程式,進入vc的安裝目錄c:\program files\microsoft visual studio\vc98\bin,在這個目錄下面有乙個lib.exe檔案,使用它就能生成sqlite3.lib檔案,將sqlite3.def檔案放到相同目錄,或者絕對路徑也可以, 然後在命令列輸入如下命令:
lib /machine:ix86 /def:sqlite3.def
該命令生成兩個檔案:sqlite3.lib和sqlite3.exp
執行該命令時,如果提示找不到mspdb60.dll檔案,可從其它目錄拷貝至bin目錄下
3.將生成的sqlite3.lib拷貝到lib目錄下,將sqlite3.dll拷貝到c:\winnt\system32目錄下
4.將sqlite3.lib加入到工程鏈結中,project->settings,link選項卡,object/library modules最後添入sqlite3.lib
d:\sqlitedll-3_6_23裡有.dll和.def檔案
生成的lib在bin下
這時以下程式便可通過vc編譯鏈結並執行:
#include
#include
#include
int column_names_printed = 0;
void print_row(int n_values, char** values)
printf("\n");
} int print_result(void* data, int n_columns, char** column_values, char** column_names)
print_row(n_columns, column_values);
return 0;
} int main()
else printf("open test.db successfully!\n");
rc = sqlite3_exec(db, "begin transaction;", null, null, null);
rc = sqlite3_exec(db, "create table students(number varchar(10), name varchar(10), \
*** varchar(6), age varchar(2));", null, null, null);
rc = sqlite3_exec(db, "insert into students values('00001', 'mary', 'female', '15');\
insert into students values('00002', 'john', 'male', '16');\
insert into students values('00003', 'mike', 'male', '15');\
insert into students values('00004', 'kevin', 'male', '17');\
insert into students values('00005', 'alice', 'female', '14');\
insert into students values('00006', 'susan', 'female', '16');\
insert into students values('00007', 'christina', 'female', '15');\
insert into students values('00008', 'brian', 'male', '16');\
insert into students values('00009', 'dennis', 'male', '14');\
insert into students values('00010', 'daphne', 'female', '18');",
null, null, &errmsg);
column_names_printed = 0;
rc = sqlite3_exec(db, "select students.* from students where ***='female';", print_result, null, &errmsg);
column_names_printed = 1;
printf("\n");
column_names_printed = 0;
rc = sqlite3_exec(db, "select students.* from students where ***='male';", print_result, null, &errmsg);
column_names_printed = 1;
rc = sqlite3_exec(db, "commit transaction;", null, null, null);
printf("error code: %d\n", rc);
printf("error message: %s\n", errmsg);
sqlite3_close(db);
return 0;
} 另外,在vc下編譯sqlite源**,出現can not find tcl.h 可以 去掉tclsqlite.c或者在這個檔案前面新增#define no_tcl 去掉tcl的支援
三、sqlite的簡單使用
3.1 建立資料庫
c:\sqlite-3_6_11> sqlite3.exe dbname.db
sqlite3.exe後面跟資料庫檔名,它是進入編譯階段的入口指令
3.2 建立資料表
sqlite> create table users(userid varchar(20) primary key,
...> age int,
...> birthday datetime);
3.3 新增記錄
insert into users values('wang',20,'1989-5-4');
insert into users values('li',22,'1987-11-16');
3.4 查詢記錄
select * from users order by birthday;
3.5 刪除記錄
delete from users where userid='wang';
3.6 退出sqlite
sqlite> .exit
sqlite資料庫的資料結構是存貯在 "sqlite_master" 表中
具體命令可以輸入 .help檢視或參考幫助文件
四、編譯lib
在dos命令列下:
path = d:\program files\microsoft visual studio 9.0\vc\bin;%path%
path = d:\program files\microsoft visual studio 9.0\common7\ide;%path%
lib /def:sqlite3.def /machine:ix86
SQLite在VC下的使用
一 sqlite簡介 sqlite 是用c語言編寫的開源資料庫,主要用於嵌入式,你也可以把它整合在自己的桌面程式中,也有人將其替代access,用作後台資料庫。sqlite 支援多數sql92標準,例如 索引 限制 觸發和檢視支援。支援 null integer real text 和 blob 資...
SQLite在VC下的使用
一 sqlite簡介 sqlite 是用c語言編寫的開源資料庫,主要用於嵌入式,你也可以把它整合在自己的桌面程式中,也有人將其替代access,用作後台資料庫。sqlite 支援多數sql92標準,例如 索引 限制 觸發和檢視支援。支援 null integer real text 和 blob 資...
SQLite在VC下的使用
自 http hi.baidu.com yeetoo blog item 2fde8813346efe836538db87.html 在vc中使用sqlite的例子 2007年09月26日 星期三 14 06 我打算在ponyse上把sqlite做為第乙個儲存 轉換資料 的資料庫,所以今天小試了一把...