一开始用CE自带的EDB写,总出问题,在长的字根本就不好用。后来在网上找到了SQLITE,对说还行。。。这不就开始行动了。。。

网上的资料比较多,推荐区这里:http://www.sqlite.com.cn/POPlist.asp?classid=4

对于前期准备工作,当然是网上写的一样,按下面一步一步实现就可以:

编译出所需的 SQLite DLL.

a> 在 http://sqlite-wince.sourceforge.net/ 中下载 SQLite for Windows CE 的DLL 源代码.

b). 打开eVC新建一个“WCE Dynamic-Link Library”工程,命名为:sqlite3

c). 在接下来的对话框中选择"An empty Windows CE DLL project",点击 FINISH,之后再点击 OK

d). 将源码中所有的 *.c *.h *.def 复制到工程文件夹下

e). 在 Source Files 中添加除shell.c和tclsqlite.c这两个文件以外所有 *.c 的SQLite源文件文件

f). 在 Header Files 中添加所有 *.h 的SQLite源文件文件

g). 将 SQLite 源文件中的 sqlite3.def 文件添加到在工程的Source File中

h). 在eVC中选好你要编译的平台,例如“Win32(WCE ARMV4I) Release”

i). 好了,开始编译,Build(F7)一下

把编译SQLITE生成的DLL、LIB和sqlite3.h 放到项目的文件夹下,把项目=》属性=》链接器=》输入=》附加依赖项:输入SQLITE的lib文件名

按http://www.sqlite.com.cn/MySqlite/4/494.Html所写的,产生一个MySQLite类

下面就是应用这个类:

在自己在处理的类进加入成员变量:MySQLite *sqlite;

打开数据库:sqlite->sqlite_connect("\\ResidentFlash\\MyTH880H.db");

建表:

代码

  result = sqlite->sqlite_exec("CREATE TABLE SAMPLE(NAME NCHAR(13) PRIMARY KEY, TIME NCHAR(25),ZONE NCHAR(18),SAMPLEDATA BLOB);");
    if(!result)
        AfxMessageBox(_T("创建表失败"));
    else
        AfxMessageBox(_T("创建成功"));

插入数据:

代码

    char *p="21210259.DUS";
    char time[25];
    char zone[18];
    BYTE samData[546];
    memcpy(time,SettingData.time,25);
    memcpy(zone,SettingData.remark,18);
    memcpy(samData,&SettingData,546);
    bool result;
    char buf[256];
    sprintf(buf, "insert into sample values ('%s','%s','%s',?);",p,time,zone);
    sqlite3_stmt *stat;//写二进制数据时要用的结构
    sqlite3_prepare(sqlite->db,buf, -1, &stat, 0 );//准备插入数据
    sqlite3_bind_blob(stat,1,samData,546, NULL ); //把内容和字段绑定
    result=sqlite3_step( stat );//执行
    sqlite3_finalize( stat );//

读二进制文件:

代码

  sqlite3_stmt *stat;//写二进制数据时要用的结构
    sqlite3_prepare(sqlite->db, "select * from sample;", -1, &stat, 0); 
    sqlite3_step(stat); 
   //得到纪录中的BLOB字段 
    const void * test = sqlite3_column_blob(stat, 3); 
    //拷贝该字段 
   memcpy(&SettingData,test,546);

搞定,还在就是在CE下显示UINICODE问题,我用CString.format居然不好用,乱码。。。

直接这么写就好了, char *str1;CStirng str(str1);这么写就行。。。NND

真是搞死人呀!上传我在CE下生成成功的那3个文件:SQLite

转载于:https://www.cnblogs.com/sankye/articles/1866300.html

wince中实现SQLite数据库及二进制文件保存与读取相关推荐

  1. 在 Android 应用程序中使用 SQLite 数据库以及怎么用

    part one : android SQLite 简单介绍 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库.它支持 SQL 语言,而且仅仅利用非常少的内存就有非常好的性能.此外它还是开 ...

  2. uwp连接mysql数据库_在 UWP 应用中使用 SQLite 数据库

    在 UWP 应用中使用 SQLite 数据库Use a SQLite database in a UWP app 06/26/2020 本文内容 可以使用 SQLite 在用户设备上的轻量级数据库中存 ...

  3. android属于数据库管理系统,详细谈谈Android系统中的SQLite数据库的应用

    数据库是按照数据结构来组织.存储和管理数据的仓库,而在信息话的社会,数据库又不单单仅限与数据的相关内容,现在数据库技术是管理信息系统.办公自动化系统.决策支持系统等各类信息系统的核心部分,而SQL是结 ...

  4. 安卓视频开发 mysql_在Android应用中使用SQLite数据库(传智播客视频笔记)

    在Android应用中使用SQLite数据库 应用生成的数据库文件保存为/data/data/应用包名/databases/name.db,生成的文件可用SQLite Expert打开 (name是自 ...

  5. Android中实现SQLite数据库CRUD操作的两种方式

    Android中实现SQLite数据库CRUD操作的两种方式 SQLite是一款轻量级的关系型数据库,具有运行速度.占用资源少的特点.通常只需要几百KB的内存就够了,因此特别适合在移动设备上使用.SQ ...

  6. java中删除sqlite数据库语句_sqlite sql创建数据库语句

    iOS开发数据库篇-SQLite常用的函数 一.简单说明 1.打开数据库 int sqlite3_open( const char *filename, // 数据库的文件路径 sqlite3 **p ...

  7. Android中关于SQLite数据库的一些知识

    使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库-SQLite,SQLite3支持 NULL.INTEGER.REAL(浮点数字).TEXT(字符串文本 ...

  8. Pycharm中对sqlite数据库的可视化操作——详细步骤一目了然

      Sqlite作为轻量级数据库在实际应用中被广泛使用,Pycharm对SQLite也有可视化操作,下面来详细介绍一下sqlite在pycharm中的使用. 第一步:打开PyCharm,然后Datab ...

  9. android 数据库表格数据库数据库中,Android SQLite数据库中的表详解

    Android SQLite数据库 前言 以前写PHP的时候,内置了print_r()和var_dump()两个函数用于打印输出任意类型的数据内部结构,现在做Android的开发,发现并没有这种类似的 ...

  10. java中删除sqlite数据库语句_sqlite数据库的介绍与java操作sqlite的实例讲解

    sqlite数据库的介绍与java操作sqlite的实例讲解 发布时间:2020-10-03 05:40:34 来源:脚本之家 阅读:92 作者:Lee_Tech sqlite是啥? 1.一种轻型数据 ...

最新文章

  1. jquery ajax示例
  2. 都江堰很美-佩服古人_Crmhf的一天
  3. 计算机等级考试二级ACCESS考试大纲
  4. Android Root原理初探
  5. QT下添加*.qrc(图标Icon、图像)资源
  6. 吴恩达深度学习4.1练习_Convolutional Neural Networks_Convolution_model_StepByStep_1
  7. 2017百度之星初赛:A-1001. 小C的倍数问题
  8. 关于Lasso回归的一个例子
  9. 在O(1)的时间内删除链表节点
  10. Atitit.office word  excel  ppt pdf 的web在线预览方案与html转换方案 attilax 总结
  11. ppt上显示无法显示图片计算机可能,把手机里做好的PPT导入电脑,为何有些图片会显示不出来?该如何解决?...
  12. 虹软人证核验增值版-node.js调用C++SDK
  13. 2023最新苹果CMS10暗色系动漫影视网站模板源码+UI高端大气
  14. 关于键盘方向键的ASCII的问题解释
  15. 一款基于企业微信的固定资产管理软件
  16. catia v5r18 百度云_catia v5r18 64位免费版 附带安装教程
  17. 如何使用Java+SSM(Spring+SpringMVC+Mybatis)开发个性化新闻推荐系统 在线新闻推荐系统 基于用户项目协同过滤、内容、聚类、关联规则推荐算法实现WebNewsRSMEx
  18. Elixir 学习笔记
  19. C语言 | 将字符串中的元音字母复制到另一个字符串中
  20. 张勇卸任,接班人不是蒋凡

热门文章

  1. Solr 4.10.3 schema.xml 域类型详解
  2. 阶段3 2.Spring_09.JdbcTemplate的基本使用_2 JdbcTemplate的概述和入门
  3. iphone移动端踩坑
  4. js时间戳转化成日期格式
  5. CPU Usage (C#) 测试
  6. Java 类和Static关键字
  7. 树形dp贪吃的九头龙(vijos1523)
  8. 在Ubuntu上安装JDK、Ant、Jmeter和Jenkins
  9. 本两个Build工作总结
  10. Google Kickstart Round.B C. Diverse Subarray