C++开发SQLite3的使用总结
来源:互联网 发布:元老院知乎 编辑:程序博客网 时间:2024/05/19 04:04
首先,SQLite3的非常轻量级的数据库。刚刚进入一家公司,对于数据库完全外行,突然接到一个关于数据库的任务,顿时凌乱了,回来找了n多资料,经过一个星期的奋斗,终于完成了这样任务。非常感谢各位网友的对SQLite3的经验分享!
1、下载Sqlite3数据的必备文件,
可以再我的资源中找到,只需要把他们包含在你的工程中,就可以使用了。
2、查看CPPSqlite3的例子
在这里可以查看http://www.codeproject.com/Articles/6343/CppSQLite-C-Wrapper-for-SQLite;
不过这里貌似有个地方运行不过,更改一些地方:
a、将出现CppSQLite的地方改为CppSQLite3,比如CppSQLiteDB db;改为CppSQLite3DB db;
b、数据库直接创建在系统盘的根目录下会出现创建失败,更改其他盘
c、CppSQLite3Query的成员函数调用出错,改为fieldDeclType;
d、在cout << endl << "Transaction test, creating " << nRowsToCreate; 前面加上
q.finalize();
这样就可以一直运行到底了;
这个例子中有绝大部分的使用说明,有什么不懂的可以直接看Sqlite3的说明,这个库的注释非常给力
3、Sqlite3创建数据库时包含中文路径将会出错
Sqlite使用utf-8编码进行打开文件操作,所以必须转换为utf-8编码格式,下面提供一个转换的函数
char* GB2312ToUTF8(const char* gb2312){int len = MultiByteToWideChar(CP_ACP, 0, gb2312, -1, NULL, 0);wchar_t* wstr = new wchar_t[len+1];memset(wstr, 0, len+1);MultiByteToWideChar(CP_ACP, 0, gb2312, -1, wstr, len);len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);char* str = new char[len+1];memset(str, 0, len+1);WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL);if(wstr) delete[] wstr;return str;}
4、字段含有空格的处理
使用[]符号将字段名包含起来
5、想要数据库实现什么功能,直接写SQL语句实现吧
经常这样用:
CppSQLite3DB db;db.execDML("begin transaction;");db.execDML("SQL语句");CppSQLite3Query q = db.execQuery("SQL语句");db.execDML("commit transaction;");
由于个人水平所限,如有什么错漏,欢迎指正,谢谢!
0 0
- C++开发SQLite3的使用总结
- sqlite3 开发包的使用
- 工作二总结——objective-C中sqlite3数据库的处理(其三) sqlite3数据库事务的使用
- Android开发 --- SQLite3 总结
- Android学习总结四:SQLite3的使用
- Linux 下的sqlite3数据库使用及Linux C的数据库编程总结
- objective-c sqlite3 最原始的使用
- sqlite3 c api 的简单使用
- C linux sqlite3 数据库的使用
- 学习iPhone开发中 sqlite3的使用
- 学习iPhone开发中 sqlite3的使用
- 学习iPhone开发中 sqlite3的使用
- 学习iPhone开发中 sqlite3的使用
- 学习iPhone开发中 sqlite3的使用
- 学习iPhone开发中 sqlite3的使用
- 学习iPhone开发中 sqlite3的使用
- 学习iPhone开发中 sqlite3的使用
- 学习iPhone开发中 sqlite3的使用
- 四大组件之Activity的生命周期(一)
- 选课
- 跟着官方文档学HINT(三)优化器特性
- 欢乐暑假线上编程比赛第四题:分配糖果(解答)
- MySQL显示乱码和命令行插入中文错误
- C++开发SQLite3的使用总结
- 高仿IOS下拉刷新的粘虫效果
- 红黑树的删除与维护
- Django 数据库查询
- 【Java学习笔记 】Java 包和类
- web前端书籍推荐
- 视频教程学习笔记1
- 糖果大战(Markov过程)
- Unity3D 移动MM failed to find resource file{mmiap.xml}解