MFC使用SQLite 学习系列 一: SQLITE_MISUSE错误
一 为什么要选择SQLite
由于使用文本文件来记录测试数据,速度越来越慢的问题,经过园友推荐,使用了SQLite来进行数据的存储,再次感谢园友@LightSmaile。
关于这个问题,可以参考一下上一篇随笔中的介绍,为何要更换用数据库来存储数据。链接地址:http://www.cnblogs.com/fredliu/p/6692986.html
二 选择SQLite使用方法
当然SQLite的使用方法有很多,网上也有很多的介绍,经过筛选,我选择了使用一个封装好的MFC类,来使用SQL。
为什么要选择这个方案呢,因为我比较懒,既然有前辈做好了封装类,那直接拿过来用就好了。但是不能只做伸手党,在此介绍给园友。
CodeProject上的SQLite3Wrapper封装(http://www.codeproject.com/KB/windows/SQLite3Wrapper.aspx)
具体的使用方法,园友们可以参考一下这位朋友的介绍,使用比较简单:http://blog.csdn.net/akof1314/article/details/5937103
三 使用中遇到的问题一
环境上都搭好了,那么就开始使用了,使用中遇到的第一个问题,那就是一个错误提示 “SQLITE_MISUSE”
唉,好不容易引入SQLite,也写了不少代码,替换原来的方案了,一运行,啪,弹出来这一个错误,大晚上的搞的心情的不好了。心里还想着,赶紧把SQLite替换好原来的方案,搞完去Dota两盘呢,结果出师不利。
查看这个错误的解释
#define SQLITE_MISUSE 21 /* Library used incorrectly */
库使用不当,可我是按照事例中的方法去做的啊。
经过百度,大概了解,可能其中写的语句中有不符合规范的。
于是进过查找,找到其中多了一个“)”括号,我的天,把事例代码拷过来,增加数据后,位置不对。
fTest = gloableConfig.sqlite.DirectStatement("CREATE TABLE mainData(name varchar(50), count varchar(10)),LAvg varchar(10),LMax varchar(10),LMin varchar(10))");
啊哈哈,居然犯了这样的错误。
四 使用中遇到的问题二
这个问题解决了,然后继续跑,结果,嘎嘣,又跳出来这个错误。
我的天,这一次又是啥原因。
经过调试,找到错误代码行。
szQuery.Format("CREATE TABLE %s(index_Num varchar(10),L_L varchar(10),xSe varchar(10),ySe varchar(10),Tc varchar(10),uSe varchar(10),vSe varchar(10),X_S varchar(10),Y_S varchar(10),Z_S varchar(10))",strTemp);
这下仔细检查了了括号,也没问题,那么问题可能出在这个strTemp上。
查看strTemp的赋值
strTemp.Format("--%02d:%02d:%02d:%04d",time.wHour,time.wMinute,time.wSecond,nCeshixuhao);
strTemp = strProXinghao + "--" + strTemplateName + strTemp;
心想是不是创建的表名里面不能有特殊的字符。
于是先把里面的“:”换成“_”,运行依然报同样的错误。
接着把“--”换成“_”,再运行下,OK了,不报错了。
原来是这个样字。
strTemp.Format("_%02d_%02d_%02d_%04d",time.wHour,time.wMinute,time.wSecond,nCeshixuhao);
strTemp = strProXinghao + "_" + strTemplateName + strTemp;
至此 SQLite3Wrapper的基本使用已经没问题了。
MFC使用SQLite 学习系列 一: SQLITE_MISUSE错误的更多相关文章
- MFC使用SQLite 学习系列 二:无法容忍的数据插入效率
上一篇随笔中,介绍了,基本的使用没什么问题了,那么开始数据的插入. 一 问题--无法容忍的插入效率 代码写入基本完成,然后开始测试.起初,插入数据的时候基本上是插入每次插入9组数据,看不出来数据插入的 ...
- php优秀框架codeigniter学习系列——异常和错误处理机制
这篇介绍下CI框架的异常和错误处理机制. 在入口文件index.php中,根据设置的环境参数设置error_reporting的范围,和是否显示错误. 在CI初始化程序CodeIgniter.php中 ...
- 【.Net Core 学习系列】-- 自定义错误页面在IE浏览器中不能正常显示
测试场景: 1. 新建.Net Core Web项目 2. 选择模板: 3. 修改Error页面代码:(去掉母版页并修改页面显示信息) 4. 修改[ASPNETCORE_ENVIRONMENT],并抛 ...
- StreamSets学习系列之启动StreamSets时出现Caused by: java.security.AccessControlException: access denied ("java.util.PropertyPermission" "test.to.ensure.security.is.configured.correctly" "read")错误的解决办法
不多说,直接上干货! 问题详情 [hadoop@master streamsets-datacollector-]$ ./bin/streamsets dc Java 1.8 detected; ad ...
- Android+Jquery Mobile学习系列(7)-保险人信息
[保险人管理]是这个APP最重要的功能,用于保存保险客户的数据,给后面的功能提供数据支撑. 简单说说[保险人管理]功能:主要就是增.删.改.查四个功能,在新增和修改的时候不仅可以保存保险人的姓名.身份 ...
- Android+Jquery Mobile学习系列(6)-个人信息设置
本节开始,进行代码的实战练习.我的这个App是管理保险客户信息的,数据采用Sqlite存储在本地手机上,第一次使用需要先登记自己的个人信息,这个功能非常简单,也无关紧要,我是拿这个练手,方便做后面复杂 ...
- SQlite 学习资料
很有用的开源跨平台数据库,可以作为客户端的小型内存数据库使用,据说它有N多用户(Nokia's Symbian,Mozilla,Abobe,Google,阿里旺旺,飞信,Chrome,FireFo ...
- MVC学习系列4--@helper辅助方法和用户自定义HTML方法
在HTML Helper,帮助类的帮助下,我们可以动态的创建HTML控件.HTML帮助类是在视图中,用来呈现HTML内容的.HTML帮助类是一个方法,它返回的是string类型的值. HTML帮助类, ...
- MVC学习系列14--Bundling And Minification【捆绑和压缩】--翻译国外大牛的文章
这个系列是,基础学习系列的最后一部分,这里,我打算翻译一篇国外的技术文章结束这个基础部分的学习:后面打算继续写深入学习MVC系列的文章,之所以要写博客,我个人觉得,做技术的,首先得要懂得分享,说不定你 ...
随机推荐
- ASP.NET Core MVC上传、导入、导出知多少
前言 本君已成夜猫子,本节我们来讲讲ASP.NET Core MVC中的上传,这两天才研究批量导入功能,本节顺便简单搞搞导入.导出,等博主弄妥当了再来和大家一并分享. .NET Core MVC上传 ...
- HTML中鼠标移动过去变换
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Java基本数据类型及其封装器的一些千丝万缕的纠葛
一些概念 想必大家都知道Java的基础数据类型有:char.byte.short.int.long.float.double.boolean 这几种,与C/C++等语言不同的是,Java的基础 ...
- Linux下使用ssh密钥实现无交互备份
服务器A(主) 192.168.1.120 服务器B(从) 192.168.1.130 需求:服务器B定期拉取服务器A的数据并备份. 实现方式: 一.备份服务器B安装rsync 1)查看是否安装 rp ...
- MySQL查看修改存储引擎总结
文总结了MySQL下查看.修改存储引擎的一些方法.测试.验证环境为MySQL 5.6 1:查看MySQL的存储引擎信息 1.1 使用show engines命令. .csharpcode, .csha ...
- JavaScript-变量的作用域面试题
块级作用域 - 在其他的语言中,任何一对花括号中的语句都属于一个块,在这之中定义的所有变量在代码块外是不可见的 - JavaScript中没有块级作用域 //这里只有函数中定义的变 ...
- String及其常用API
String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串.因 ...
- web注册功能实现
开发工具:Eclipse Web前端语言:html+jsp 后端数据库:MySQL 数据库UI工具:Navicat for MySQL (根据网上各位前辈的信息,自学实现这个注册基本功能,以后要是学到 ...
- 构建微服务(Building Microservices)-PDF 文档
闲时翻译了几篇基于Spring Cloud.Netflix OSS 构建微服务的英文文章,为方便分享交流,整理为PDF文档. PDF 文档目录: 目录 一.微服务操作模型... 3 1. 前提 ...
- JS清除DIV的选中状态
var clearSlct = "getSelection" in window ? function () { window.getSelection().removeAllRa ...