WinCE下移值SQLite3
时间:2010-12-14 来源:ywh_hlp
最近的有个项目需要在WINCE使用到数据库,针对SQLCE及SQLite查了不少资料,感觉SQLite比SQLce好很多,所以最后选择了SQLite数据库.以下文章觉得很好,所以转载到本博客中:
WinCE下移值SQLite3
WinCE下移值SQLite3
SQLite是一个非常适合应用于嵌入式设备的数据库,同时,可以应用于一些稳定的,很少修改配置的应用程序中;其最大程度的实现了self-contained,实现了对外部程序库以及操作系统的最低要求。
在本文中我们将以“Next by next”的形式来介绍一下如果把SQLite移值到WinCE下具体步骤如下:
1. 下载SQLite原码
我们只需要sqlite-source-3_3_7.zip既可,本包可以从下面的地址下载:
www.sqlite.com.cn/Upfiles/source/sqlite-source-3_3_7.zip
2. 利用VS2008创建动态库
启动VS2008选择File-->New-->Project…;在下图的对话框中选择Win32 Smart Device Project,在Name里写入“SQLite3”,在Location里选择你的工程的保存目录。
点击“OK”按钮出现如下对话框:
点击“Next”按钮出现如下对话框:
把上图中“Installed SDKs”中的目标SDK选到“Selected SDKs”中,比如在本例中选择了WinCE50,然后点击“Next”按钮出现如下对话框:
在上图中选择“DLL”同时钩上“Empty project”,点击“Finish”按钮;然后解开上面的sqlite-source-3_3_7.zip所里面所有文件放到“E:\Project\SQLite3\SQLite3”(此目录为本例子测试时目录,在你移值时根据你的工程路径不同而做不同的选择)。
选择Project-->Add Existing Items..出现如下对话框:
在上面的文件列表里选中除tclsqlite.c和shell.c之外的所有刚才解开的文件,然后点击“Add”按钮;
右键点击工程名在弹出的菜单中选择“Properties”(如下图):
这时将会弹出如下对话框:
上图中的左边选择“Input”(如红圈所显),在右边的Module Definition File 后输入sqlite3.def,然后点击“确定”按钮;OK现在可以编译我们的工程了。
编译时将出现如下错:
fatal error C1083: Cannot open include file: 'sqlite3.h': No such file or directory
双击这个出错信息,我们发现错在了#include <sqlite3.h>这一行;我们只需把此行改成#include “sqlite3.h”然后再编译就OK了。
编译完成之后我们发现已经生成了我们所需的文件SQLite3.lib与SQLite3.dll两个文件;接下来就是如何使用的问题了,请参考《sqlite3简单用法实例》与《VC6下编译与使用SQLite3》
OK,到现在为止我们已经成功的移值了SQLite3到WinCE下;祝你开心My friend…
(SQLite的最新版本可以到http://www.sqlite.org/download.html上下载,对应在SQLmd_source\sqlite3目录下的所有文件,按照以上步骤直接编译,将产生2个文件:SQLite3.lib、SQLite3.dll,用于C++方面的)
对于SQLite的基本及进一步学习可以到http://www.sqlite.com.cn/上
经测试,利用事务提交插入10W条数据(2列)所消耗时间为271.282178秒(约4分钟),非常快!
利用事务提交插入100W条数据(2列)所消耗时间为2721.60206秒(约45分钟)!