sqlite3-入门日记4-实现C++类封装
2011-03-28 10:23
260 查看
一、前言:
今天试了下如何用C++类实现接口封装,感觉蛮好 。用于封装的类主要有两个,SQLiteStatement类和SQLiteWrapper类,是一个老外写的。我看了下源码,主要是对C接口进行了封装,好处自然不用说,可以重用。很佩服老外的技巧,在这里就引用下他们的代码供大家分享下他们的思想。
源代码链接: http://www.adp-gmbh.ch/sqlite/wrapper.html
二、类源码:
1.头文件:SQLiteWrapper.h
Print_DB_Data.cpp
三、后记:
感叹SQLite的博大精深。
~~~路漫漫其修远兮,吾将上下而求索。
今天试了下如何用C++类实现接口封装,感觉蛮好 。用于封装的类主要有两个,SQLiteStatement类和SQLiteWrapper类,是一个老外写的。我看了下源码,主要是对C接口进行了封装,好处自然不用说,可以重用。很佩服老外的技巧,在这里就引用下他们的代码供大家分享下他们的思想。
源代码链接: http://www.adp-gmbh.ch/sqlite/wrapper.html
二、类源码:
1.头文件:SQLiteWrapper.h
Print_DB_Data.cpp
1/* 2 * 功能:演示了使用类成员函数获取数据库表的数据,并将数据输出到屏幕 3 * Statement():返回一个指向SQLiteStatement类的指针 4 * NextRow():只要数据未取完,就返回True 5 * DataType():返回访问列的数据类型 6 * ValueString():返回std::string. 7 */ 8 #include <iostream> 9 #include "SQLiteWrapper.h" 10 11int main(){ 12 SQLiteWrapper sqlite; 13if (sqlite.Open("SQLiteWrapper.db")){ 14 std::cout<<"SQLiteWrapper.db created or opened"<<std::endl; 15 } 16else{ 17 std::cout<<"couldn't open SQLiteWrapper.db"<<std::endl; 18 } 19 20 SQLiteStatement* stmt=sqlite.Statement("select * from foo"); 21 22while(stmt->NextRow()){ 23 std::cout<<stmt->DataType (0)<<" - "<<stmt->DataType (1) <<" | "<< 24 stmt->ValueString(0)<<" - "<<stmt->ValueString(1)<<std::endl; 25 } 26 27return0; 28 }
三、后记:
感叹SQLite的博大精深。
~~~路漫漫其修远兮,吾将上下而求索。
相关文章推荐
- sqlite3-入门日记4-实现C++类封装
- sqlite3-入门日记3-Linux平台配置
- sqlite3- 入门日记1-初试体验
- sqlite3-入门日记2-VC环境配置
- 基于SQLite3轻量级封装,一行代码实现增删改查
- sqlite3-实现C++类封装
- 使用CppSQLite3封装结合wxSQLite实现加密版的SQLite数据库操作类
- (原理篇)基于SQLite3轻量级封装,一行代码实现增删改查
- C# 封装SQLite实现
- sqlite3增删改查C++类实现
- sqlite3-入门日记5-测试数据输出方法
- 工作日记2017.07.17 简单封装Dozer, 实现深度转换Bean<->Bean的Mapper
- ffmpeg系列:使用C++类封装ffmpeg,实现打开视频文件功能
- 简单封装sqlite3 实现实体对象与关系型数据库的相关操作【IOS】
- ios-数据库-sqlite-数据库得封装(自己写得,有很多不严谨)最后还有一个单例得实现
- QT入门笔记--信号和槽(附简单的C++类实现代码)
- 基于SQLite3轻量级封装,一行代码实现增删改查
- IOS-20-数据库操作之(SQLite第三方封装库FMDB)的基础入门使用及demo源码
- 利用反射实现对sqlite3数据库的crud(增删改查)操作的一个baseAndroidDao封装,安卓开发中
- (原理篇)基于SQLite3轻量级封装,一行代码实现增删改查