易截截图软件、单文件、免安装、纯绿色、仅160KB

为SQLite数据库添加加密功能

 http://blog.csdn.net/leadworld/archive/2007/01/20/1488539.aspx
SQLite是一个很好用的嵌入式数据库。可惜美中不足的是SQLite的免费版本不具备加密功能。曾经在网上看到一个用WinCrypt实现加密功能的版本,但我不喜欢太依赖于Windows平台。这几日有时间,自己就用XXTEA算法在 SQLite3.3.7版本的基础上实现了加密功能。选择XXTEA主要是因为这个算法速度很快,对性能造成的影响相对较小。顺便修改了网上流传的XXTEA代码的一处内存越界的BUG。
        用SQLite的一般是单机版软件比较多,有加密需求的一定不少,所以现在放出源代码与大家分享。代码的工程文件是用VC2005,如果用其它编译器,编译的时候不要忘记加上SQLITE_HAS_CODEC宏。代码只是粗略测试过,不保证100%无BUG和逻辑错误。


相关文档:

SQLITE的局限性

SQLite和其他大部分现代SQL数据库在基本设计目标上是不同的,它的目标是简单。SQLite遵循这一目标,即使这样偶尔会导致某些特性实现的低效化。下面列举了SQLite的一些缺陷:
SQL-92特性方面
正如前面提到的,SQLite不支持SQL-92的在很多企业数据库系统中可用的一些特性。
如:
外键约束(可解析的,但非强制)
很多ALT ......

sqlite性能优化

主要通过pragma指令来实现。
比如: 空间释放、磁盘同步、Cache大小等。
不要打开。前文提高了,Vacuum的效率非常低!
PRAGMA auto_vacuum;
PRAGMA auto_vacuum = 0 | 1;
查询或设置数据库的auto-vacuum标记。
正常情况下,当提交一个从数据库中删除数据的事务时,数据库文件不改变大小。未使用的文件页被标记并在以 ......

sqlite内存数据库使用有感

SQLite不仅可以把数据库 放在硬盘上,还可以放在内存中(sqlite3_open(":memory:", &db)),经测试,同样条件下数据库放在内存中比放在硬盘上插入记录速度快差不多3倍。但数据库放在内存中时有如下缺陷:
1、断电或程序崩溃后数据库就会消失,你需要定期Attach到硬盘上备份;
2、在内存中的数据库不能被别的进程 ......

[收拢] 用sqlite 执行标准 sql 语法

http://www.umgr.com/blog/PostView.aspx?bpId=36294
 1. 执行sql语句
int sqlite3_exec(sqlite3*, const char *sql, sqlite3_callbacksql 语法
, void *,  char **errmsg );
这就是执行一条 sql 语句的函数。
第1个参数不再说了,是前面open函数得到的指针。说了是关键数据结构。
第2个参数const char ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号