SQLite学习笔记之三

SQLite学习笔记之三,第1张

概述一.如何备份数据库 先打开数据库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 一.如何备份数据库

先打开数据库@H_502_9@test.db

E:\sqlite\tool\sqlite-3_6_22>@R_419_4777@@H_502_9@D:\Test\deBUG\test.db

sqlite> .backup D:\Test\deBUG\test.bak

注意:一定要用@H_502_9@\双斜杠@H_502_9@

二.如何恢复数据库

先打开数据库@H_502_9@test.db

E:\sqlite\tool\sqlite-3_6_22>@R_419_4777@@H_502_9@D:\Test\deBUG\test.db

sqlite> .restore D:\Test\deBUG\test.bak

注意:一定要用@H_502_9@\双斜杠@H_502_9@

三.先判断表如果不存在,则再创建表

@H_502_9@sql可以如下写,供参考:

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

age smallint,anchor smallint);

四.如何查询@H_502_9@@R_419_4777@小工具或者@H_502_9@@R_419_4777@.dll动态链接库的版本

执行@H_502_9@select sqlite_version();命令即可@H_502_9@

五.@H_502_9@@R_419_4777@的最新版本是(截止日期@H_502_9@2010@H_502_9@2@H_502_9@22

3.6.22

六.针对@H_502_9@@R_419_4777@,两大优秀@H_502_9@C++封装库

1.Cpp@R_419_4777@

http://www.codeproject.com/KB/database/CppSQLite.aspx

2.wx@R_419_4777@

http://sourceforge.net/projects/wxcode/files/Components/wxSQLite3/wxsqlite3-1.9.8.zip/download

七.如何在@H_502_9@windows下编译@H_502_9@@R_419_4777@

@H_502_9@1.先从官网获取@H_502_9@sqlite-amalgamation-3_6_22.zip

@H_502_9@2.接着从官网获取@H_502_9@sqlitedll-3_6_22.zip

下载编译好的@H_502_9@DLL,这里有我们需要的@H_502_9@@R_419_4777@.def该文件

@H_502_9@3.打开@H_502_9@VC新建一个“@H_502_9@Win32 Dynamic-link library”工程,命名为@H_502_9@:@R_419_4777@

@H_502_9@4.在接下来的对话框中选择@H_502_9@"An empty DLL project",@H_502_9@FINISH->OK

@H_502_9@5.将@H_502_9@sqlite-amalgamation-3_6_22文件夹下的@H_502_9@@R_419_4777@.h以及@H_502_9@@R_419_4777@.c两个文件复制到工程文件夹下;

@H_502_9@@H_502_9@@H_502_9@sqlitedll-3_6_22文件夹下的@H_502_9@@R_419_4777@.def该文件复制到工程文件夹下;

@H_502_9@6.在工程的@H_502_9@Source files中添加@H_502_9@@R_419_4777@.c文件;

@H_502_9@7.在工程的@H_502_9@Include files中添加@H_502_9@@R_419_4777@.h文件;

@H_502_9@8.在工程的@H_502_9@Resource files中添加@H_502_9@@R_419_4777@.def文件;

@H_502_9@9.针对如下问题:

@R_419_4777@.def : error LNK2001: unresolved external symbol @R_419_4777@_column_database_name

@R_419_4777@.def : error LNK2001: unresolved external symbol @R_419_4777@_column_database_name16

@R_419_4777@.def : error LNK2001: unresolved external symbol @R_419_4777@_column_origin_name

@R_419_4777@.def : error LNK2001: unresolved external symbol @R_419_4777@_column_origin_name16

@R_419_4777@.def : error LNK2001: unresolved external symbol @R_419_4777@_column_table_name

@R_419_4777@.def : error LNK2001: unresolved external symbol @R_419_4777@_column_table_name16

@R_419_4777@.def : error LNK2001: unresolved external symbol @R_419_4777@_table_column_Metadata

DeBUG/@R_419_4777@.lib : Fatal error LNK1120: 7 unresolved externals

在菜单【@H_502_9@Project@H_502_9@-@H_502_9@Settings…@H_502_9@-@H_502_9@C/C++】标签下的@H_502_9@category@H_502_9@General】下

@H_502_9@Preprocessor deFinitions@H_502_9@:

新增@H_502_9@2个编译选项,分别是:

THREADSAFE

sqlITE_ENABLE_ColUMN_MetaDATA

@H_502_9@10.往工程中添加@H_502_9@@R_419_4777@.def文件就是为生成@H_502_9@@R_419_4777@.lib文件;

@H_502_9@@R_419_4777@.lib是与@H_502_9@@R_419_4777@.dll动态链接库文件一起提供给软件开发者的;

八.如何解决@H_502_9@windows下的编译警告

e:\sqlite\code\@R_419_4777@\@R_419_4777@.c(15385) : warning C4047: 'function' : 'voID ** ' differs in levels of indirection from 'long *'

e:\sqlite\code\@R_419_4777@\@R_419_4777@.c(15385) : warning C4022: 'InterlockedCompareExchange' : pointer mismatch for actual parameter 1

e:\sqlite\code\@R_419_4777@\@R_419_4777@.c(15385) : warning C4022: 'InterlockedCompareExchange' : pointer mismatch for actual parameter 2

e:\sqlite\code\@R_419_4777@\@R_419_4777@.c(15403) : warning C4047: 'function' : 'voID ** ' differs in levels of indirection from 'long *'

e:\sqlite\code\@R_419_4777@\@R_419_4777@.c(15403) : warning C4022: 'InterlockedCompareExchange' : pointer mismatch for actual parameter 1

e:\sqlite\code\@R_419_4777@\@R_419_4777@.c(15403) : warning C4022: 'InterlockedCompareExchange' : pointer mismatch for actual parameter 3

e:\sqlite\code\@R_419_4777@\@R_419_4777@.c(15403) : warning C4047: '==' : 'voID *' differs in levels of indirection from 'const int '

e:\sqlite\code\@R_419_4777@\@R_419_4777@.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

目前,还不想直接屏蔽警告错误。没有想到更好的方法。待定。@H_502_9@

有知道的朋友,还请指点。我将不甚感激。

总结

以上是内存溢出为你收集整理的SQLite学习笔记之三全部内容,希望文章能够帮你解决SQLite学习笔记之三所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1181186.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存