SQLite學習筆記(三)

2021-05-27 05:35:37 字數 3739 閱讀 9648

一.如何備份資料庫

先開啟資料庫test.db

e:\sqlite\tool\sqlite-3_6_22>sqlite3  d:\test\debug\test.db

sqlite> .backup d:\\test\\debug\\test.bak

注意:一定要用\\雙斜槓

先開啟資料庫test.db

e:\sqlite\tool\sqlite-3_6_22>sqlite3  d:\test\debug\test.db

sqlite> .restore d:\\test\\debug\\test.bak

注意:一定要用\\雙斜槓

sql可以如下寫,供參考:

create table if not exists student(id integer primary key autoincrement,\

age smallint ,anchor smallint);

執行 select sqlite_version();命令即可

3.6.22

1.cppsqlite3

2.wxsqlite3

1.先從官網獲取sqlite-amalgamation-3_6_22.zip;

2.接著從官網獲取sqlitedll-3_6_22.zip

3.開啟vc新建乙個「win32 dynamic-link library」工程,命名為:sqlite3;

4.在接下來的對話方塊中選擇"an empty dll project",點 finish->ok;

5.將sqlite-amalgamation-3_6_22資料夾下的sqlite3.h以及sqlite3.c兩個檔案複製到工程資料夾下;

將sqlitedll-3_6_22資料夾下的sqlite3.def該檔案複製到工程資料夾下;

6.在工程的source files中新增sqlite3.c檔案;

7.在工程的include files中新增sqlite3.h檔案;

8.在工程的resource files中新增sqlite3.def檔案;

9.針對如下問題:

sqlite3.def : error lnk2001: unresolved external symbol sqlite3_column_database_name

sqlite3.def : error lnk2001: unresolved external symbol sqlite3_column_database_name16

sqlite3.def : error lnk2001: unresolved external symbol sqlite3_column_origin_name

sqlite3.def : error lnk2001: unresolved external symbol sqlite3_column_origin_name16

sqlite3.def : error lnk2001: unresolved external symbol sqlite3_column_table_name

sqlite3.def : error lnk2001: unresolved external symbol sqlite3_column_table_name16

sqlite3.def : error lnk2001: unresolved external symbol sqlite3_table_column_metadata

debug/sqlite3.lib : fatal error lnk1120: 7 unresolved externals

在選單【project】-【settings…】-【c/c++】標籤下的category【general】下

preprocessor definitions下:

新增2個編譯選項,分別是:

threadsafe

sqlite_enable_column_metadata

10.往工程中新增sqlite3.def檔案就是為生成sqlite3.lib檔案;

sqlite3.lib是與sqlite3.dll動態鏈結庫檔案一起提供給軟體開發者的;

e:\sqlite\code\sqlite3\sqlite3.c(15385) : warning c4047: 'function' : 'void ** ' differs in levels of indirection from 'long *'

e:\sqlite\code\sqlite3\sqlite3.c(15385) : warning c4022: 'interlockedcompareexchange' : pointer mismatch for actual parameter 1

e:\sqlite\code\sqlite3\sqlite3.c(15385) : warning c4022: 'interlockedcompareexchange' : pointer mismatch for actual parameter 2

e:\sqlite\code\sqlite3\sqlite3.c(15403) : warning c4047: 'function' : 'void ** ' differs in levels of indirection from 'long *'

e:\sqlite\code\sqlite3\sqlite3.c(15403) : warning c4022: 'interlockedcompareexchange' : pointer mismatch for actual parameter 1

e:\sqlite\code\sqlite3\sqlite3.c(15403) : warning c4022: 'interlockedcompareexchange' : pointer mismatch for actual parameter 3

e:\sqlite\code\sqlite3\sqlite3.c(15403) : warning c4047: '==' : 'void *' differs in levels of indirection from 'const int '

e:\sqlite\code\sqlite3\sqlite3.c(65536) : warning c4049: compiler limit : terminating line number emission

warning c4761: integral size mismatch in argument; conversion supplied

warning c4761: integral size mismatch in argument; conversion supplied

warning c4761: integral size mismatch in argument; conversion supplied

SQLite學習筆記

官方站點 從 的download頁面獲取 download.html sqlite amalgamation 3 6 22.zip是sqlite的windows下原始碼檔案 sqlite 3 6 22.zip sqlitedll 3 6 22.zip 在sqlite中,表示式 a between b...

SQLite學習筆記

官方站點 從 的download頁面獲取 download.html sqlite amalgamation 3 6 22.zip是sqlite的windows下原始碼檔案 sqlite 3 6 22.zip sqlitedll 3 6 22.zip 在sqlite中,表示式 a between b...

sqlite學習筆記

1 unique constraint failed user.userid 違反唯一性約定,意味表中已有相同的鍵值 2 rowcount 使用cursor物件執行insert,update,delete語句時,執行結果由rowcount返回影響的行數,就可以拿到執行結果。3 列對齊命令 mode ...