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

sqlce与sqlite数据库的比较

最近由于项目需要, 要在wince4.2, wince5.0, mobile三种机型上面做大数据量的查询,初步估计在50W-500W条记录之间。
由于以前做mobile5的数据库项目主要是采用C#来写,而且数据量也顶多几万条,所以,为了确保项目后期少走弯路,我特意做了一下移动数据库性能测试。下面是这周的工作记录。供大家参考。
一. 由于wince4.2在打包OS的时候没有带.net的支持,所以,只能选用C++,也是为了各平台移植方便。
初步考虑采用sqlce 和 sqlite中的一种,sqlce是ms的东东,比较稳定。sqlite的开源的,使用方便,查询速度快。因此,两种我都做了一下测试。
1. sqlce开发环境:
EVC4 + sp4。 VS2005。 SqlCe 3.0
1). 先用VS2005写了一个小程序,生成50万条模拟数据。(在vs2005下操作sdf文件需要安装一个sqlce的包)
2). 在wince上使用sqlce的话,需要把以下文件copy到windows目录(我的wince没有自带sqlce包):
      sqlcese30.dll,sqlceqp30.dll,sqlceoledb30.dll,sqlceme30.dll,sqlceer30CN.dll,并注册sqlceoledb30.dll方能正常操作数据库。(或者直接安装sql的cab包也行)
3). 开始编wince下的程序,操作sqlce数据库.
   ::CoInitializeEx(NULL,COINIT_MULTITHREADED);
   //注册sqlce dll
   LRESULT   (CALLBACK*   lpDllEntryPoint)();   //声明在CPP文件的前段
   //注册
   HINSTANCE   hLib   =   LoadLibrary(L"\\Windows\\sqlceoledb30.dll");
   if   (hLib == NULL )
    return ;
   (FARPROC&)lpDllEntryPoint   =   GetProcAddress(hLib,     _T("DllRegisterServer"));
       (*lpDllEntryPoint)();
//OLEDB方式操作sqlce,都是一些COM相关的东东
HRESULT   hr;
// TODO: Add your control notification handler code here
IDBInitialize   *pIDBInitialize;
IDBCreateSession   *pIDBCreateSession;
IDBCreateCommand   *pIDBCreateCommand;
ICommandText   *pICommandText;
IDBProperties   *pIDBProperties;
IUnknown   *pIUnknown;
DBPROP   dbprop[1];
DB


相关文档:

sqlite使用总结1

前序:... 1
一、 版本... 1
二、 基本编译... 2
三、 SQLITE操作入门... 2
(1) 基本流程... 2
(2) SQL语句操作... 4
(3) 操作二进制... 8
(4) 事务处理... 10
四、 给数据库加密... 10
五、 后记... 25
前序:
Sqlite3 的确很好用。小巧、速度快。但是因为非微软的产品,帮助文档总觉得不够 ......

sqlite总结2


(2)              SQL语句操作
本节介绍如何用sqlite 执行标准 sql 语法。
 
i.1            执行sql语句
int sqlite3_exec(sqlite3*, const char *sql, sqlite3_callback, void ......

SQLite如何删除、修改、重命名列?

首先声明:如果你想直接alter,放弃吧。以下内容可以忽略了。
sqlite官方说明如下:
SQLite supports a limited subset of ALTER TABLE. The ALTER TABLE command in SQLite allows the user to rename a table or to add a new column to an existing table. It is not possible to rename a column, remove a column, o ......

sqlite全文查询配置到使用全过程

      SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比 ......

SQLite 中文 FAQ

zz from https://www.dream4ever.org/showthread.php?t=86440 feuvan @ DRL
原文在http://sqlitecn.feuvan.net/faq.html
语法部分正在翻译中,敬请期待
FAQ中文版
如何创建自增字段?
SQLite 支持哪些数据类型?
为什么能向 SQLite 数据库的整型字段中插入字符串?
为什么 SQLite 认为表达式 '0'=='00' 为真? ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号