创建sqlite 的vs2008 工程
近来因为工作需要加入sqlite 处理数据,下载了sqlite3.6.22(amalgamation 版本),又想自己动手编译出来想动态链接就动态,想静态链接也可以,于是有了这篇文章,有意思的是之前也试过编译Sqlite,但没成功,不了了之,可能近来要过年了
跟
RP有关吧:)。
1 首先创建vs2008的一个空DLL工程;
2 将sqlite3.c文件添加到工程,不需要sqlite3.h头文件,sqlite3.c已经包含了头文件的接口跟数据结构。
3. 最重要的一步,将编译选项里的"编译成C++"改为“编译成C”,我在Google现成的sqlite vs工程发现许多人都因为那些烦人的类型没定义或者不匹配崩溃,修改这个选项后就不需要修改代码了。
4. sqlite网站提供一个Windows的编译库,我没用到那个DLL,但那个sqlite3.def却可以用来声明导出函数,比自己去导出省力,所以也添加进工程。
5 还有一个编译宏,SQLITE_ENABLE_COLUMN_METADATA,如果遇到sqlite3_column_database_name**()函数没定义,那就是提醒要加进这个宏了,我是在工程"属性"框------> C++ ------->Preprocessor-------->Preprocessor Definition添加的,当然也可以在其他地方添加,
但以我的想法,在这里添加不需要改动代码,而且以后sqlite版本升级,只需要在工程目录里替换sqlite3.c 和sqlite3.def,一劳永逸, 希望如此吧!
6 添加了一个版本信息,常用VC的肯定知道,版本升级就直接在sqlite_version.rc里面修改版本号就是了。
上传了一份到CSDN,不知道CSDN到底在哪里支持附件上传 :)
http://download.csdn.net/source/2022243
相关文档:
前一阵字做项目(嵌入式linux),由于要保存大量的数据,而且最长要保存30天的时间。本来打算保存到文件中,每次启动应用程序的时候重新解析一遍,可是当数据量很大的时候,就出现效率的问题了。所以最后还是放弃了使用文件的打算,决定使用数据库存取数据。
linux下的数据库也很多,有开源的,也有收费的。对于我们来说,肯 ......
1、.back ?DB? FILE 备份DB(默认为main)到文件
2、.bail ON|OFF 遇到一个错误扣停止,该值默认为OFF
3、.databases 列举附加到数据库的数据库名和文件名
4、.dump ?TABLE? ... 用SQL文本格式列举数据库,如果指定TABLE,仅仅列举匹配的表,LIKE类型TABLE
5、.echo ON|OFF 设置echo的状态 ......
CnGuiDB.js
var db : dbAccess;
public var mskin : GUISkin;
private var mstring : String;
var inputStr;
function Start(){
inputStr = "1";
}
function search(mid)
{
db = new dbAccess();
db.OpenDB("db1.db");
var tableName = "myTable";
// table name, I want to return everyo ......
SQLite 是一个实现了完备的(self-contained),可嵌入的(embeddable),零配置(zero-configuration)的SQL数据库引擎的小型的C函数库。它包含以下的特点:
.
事务处理原子化(atomic),一致化(consistent),持久化(isolated),绝缘化(durable),即使是在系统崩溃和掉电时
零配置,不 ......