完整的VC下SQLite的使用

2021-08-30 14:14:40 字數 3845 閱讀 4581

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下

#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做為第乙個儲存 轉換資料 的資料庫,所以今天小試了一把...