sqlite的UNICODE接口CppSQLite3Query简单示例
来源:互联网 发布:网络爬虫系统架构图 编辑:程序博客网 时间:2024/06/05 04:54
sqlite简介:
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。
更多详细介绍,自己去找吧。
sqlite使用示例:
创建一个学生数据库示例:
包含3个表,分别是学生表,课程表,学生课程成绩表,3个表通过关键字建立联系。
void create_table(){CString strDbPath;GetCurrentDirectory(strDbPath);strDbPath += STUDENT_DB_FILE_NAME;CppSQLite3DB db;try{// 打开或新建一个数据库db.open(strDbPath); // 创建表1if(!db.tableExists(TEXT("学生表"))) {// 不存在,新建表1db.execDML(TEXT("CREATE TABLE 学生表(学号 varchar(50) NOT NULL PRIMARY KEY, 姓名 varchar(50), 性别 varchar(50));"));}// 插入记录db.execDML(TEXT("INSERT INTO 学生表 VALUES('01101', '李海', '男');"));db.execDML(TEXT("INSERT INTO 学生表 VALUES('01102', '王鹏', '女');"));// 创建表2if(!db.tableExists(TEXT("课程表"))) {// 不存在,新建表1db.execDML(TEXT("CREATE TABLE 课程表(课程编号 integer PRIMARY KEY AUTOINCREMENT NOT NULL, 课程名称 varchar(50));"));}// 插入记录db.execDML(TEXT("INSERT INTO 课程表 (课程名称) VALUES( '计算机基础');"));db.execDML(TEXT("INSERT INTO 课程表 (课程名称) VALUES( '程序设计');"));// 创建表3if(!db.tableExists(TEXT("学生课程成绩表"))) {// 不存在,新建表1db.execDML(TEXT("CREATE TABLE 学生课程成绩表(学号 varchar(50), 课程编号 varchar(50), 成绩 varchar(50));"));}// 插入记录db.execDML(TEXT("INSERT INTO 学生课程成绩表 VALUES('01101', '101', '80');"));db.execDML(TEXT("INSERT INTO 学生课程成绩表 VALUES('01101', '102', '87');"));db.execDML(TEXT("INSERT INTO 学生课程成绩表 VALUES('01102', '101', '85');"));db.execDML(TEXT("INSERT INTO 学生课程成绩表 VALUES('01102', '102', '88');"));// 关闭数据库db.close();AfxMessageBox(TEXT("测试完成!"));}catch(CppSQLite3Exception ex){AfxMessageBox(ex.errorMessage());}}
读取数据库表示例:
void read_table(){CString strDbPath;GetCurrentDirectory(strDbPath);strDbPath += STUDENT_DB_FILE_NAME;CppSQLite3DB db;try{// 打开或新建一个数据库db.open(strDbPath); // 创建表1if(!db.tableExists(TEXT("课程表"))) {// 不存在表AfxMessageBox(TEXT("数据库是空的"));return;}// 获取总记录条数int nCount = db.execScalar(TEXT("SELECT COUNT(*) FROM 课程表;"));TCHAR szCount[50] = {0};memset(szCount, 0, sizeof(szCount));wsprintf(szCount, TEXT("Record count: %d.\n"), nCount);TRACE(szCount);// 获取每一条记录CppSQLite3Query qBuf = db.execQuery(TEXT("SELECT * FROM 课程表;"));while (!qBuf.eof()){CString cstmp;cstmp.Format(TEXT("%d,%s\n"), qBuf.getIntField(0),qBuf.fieldValue(1)); OutputDebugString(cstmp);qBuf.nextRow();}// 销毁语句qBuf.finalize();// 关闭数据库db.close();AfxMessageBox(TEXT("测试完成!"));}catch(CppSQLite3Exception ex){AfxMessageBox(ex.errorMessage());}}
源码下载地址
更多帮助请参考:
sqlite使用说明
1 0
- sqlite的UNICODE接口CppSQLite3Query简单示例
- sqlite简单示例
- IEnumerable接口的一个简单示例
- IEnumerable接口的一个简单示例
- 接口(interface)的简单示例
- 浅析 - 接口回调的简单示例
- C++调用SQLite简单示例
- Android SQLite简单操作示例
- Android SQLite简单操作示例
- Android SQLite 简单使用示例
- Android中的sqlite简单示例
- android 中关于SQLite的简单操作示例
- C#接口-简单示例
- List接口简单示例
- Sqlite数据库的Unicode排序
- sqlite API(C\C++)接口示例
- JAVA接口的应用及工厂模式的简单示例
- 简单的INotifyPropertyChanged接口使用的示例类
- 7_22_T题 Constructing Roads(最小生成树)
- BCGControlBar中文教程之Ribbon Backstage视图(三)
- 友元
- 反弹Shell总结
- spring-mvc配置
- sqlite的UNICODE接口CppSQLite3Query简单示例
- 【Android】AndroidStudio(Eclipse)如何使用天天模拟器进行调试apk应用。
- Java 邮件发送
- centos yum mongo3.2
- 深入理解JavaScript系列--------强大的原型和原型链
- eclispe中的maven项目使用spring报java.lang.ClassNotFoundException: org.springframework.web.c
- Java中的多线程
- Mysql入门(十二)之触发器与函数
- 面试笔试--http知识点