c++调用SQLite3的常用使用方法;

下面测试用的sqlite例子;大家可以参考使用;

  1   1 #include "CppSQLite3.h"
  2   2
  3   3 Class TestSqlite{
  4   4
  5   5     //定义db指针
  6   6 private:
  7   7     CppSQLite3DB* m_pSqlDb;
  8   8     TestSqlite()
  9   9     {
 10  10         m_pSqlDb = NULL;
 11  11         Init();
 12  12     }
 13  13
 14  14     ~TestSqlite()
 15  15     {
 16  16         if ( m_pSqlDb )
 17  17         {
 18  18             m_pSqlDb.Close();
 19  19             delete m_pSqlDb;
 20  20             m_pSqlDb = NULL;
 21  21         }
 22  22     }
 23  23     //初始化
 24  24     BOOL Init()
 25  25     {
 26  26         //初始化sqlite指针
 27  27         if ( m_pSqlDb || !(m_pSqlDb = new CppSQLite3DB))
 28  28         {
 29  29             return FALSE;
 30  30         }
 31  31
 32  32         try
 33  33         {
 34  34             string strDbFile = "D:\\Chunk.s3db";
 35  35             m_pSqlDb->open( strDbFile.c_str() );//打开指定位置的本地数据库
 36  36         }
 37  37         catch (CppSQLite3Exception& e)//处理sqlite异常
 38  38         {
 39  39             return FALSE;
 40  40         }
 41  41
 42  42         return TRUE;
 43  43     }
 44  44 public:
 45  45     //读出db中指定名称的表数据
 46  46     void ReadAllLine(map<int,int>& mpDbInfo,const string &TblName)
 47  47     {
 48  48         try
 49  49         {
 50  50             char szCmd[256];
 51  51             sprintf( szCmd, "SELECT id,testnum FROM %s;",TblName);
 52  52             CppSQLite3Query query = m_pSqlDb->execQuery( szCmd );//执行查询语句
 53  53             while(!query.eof())
 54  54             {
 55  55                 int id = query.getIntField( "id");    //列项为id的值
 56  56                 int testnum = query.getIntField( "testnum");    //列项testnum的值
 57  57
 58  58                 mpDbInfo.insert(make_pair(id,testnum));//插入map
 59  59                 query.nextRow();//继续下一行
 60  60             }
 61  61             query.finalize();//结束查询,释放内存
 62  62         }
 63  63         catch (CppSQLite3Exception& e)
 64  64         {
 65  65             return;
 66  66         }
 67  67     }
 68  68
 69  69     //更新指定数据
 70  70     BOOL DeleteLine(const string& TblName,const int& id,const int& num)
 71  71     {
 72  72         try
 73  73         {
 74  74             char szCmd[256];
 75  75             sprintf( szCmd, "update %s set num = %d WHERE id=%d;",TblName,num,id);//更新内容
 76  76             m_pSqlDb->execDML( szCmd );
 77  77         }
 78  78         catch (CppSQLite3Exception& e)
 79  79         {
 80  80             return FALSE;
 81  81         }
 82  82         return TRUE;
 83  83     }
 84  84
 85  85     //删除指定数据
 86  86     BOOL DeleteLine(const string& TblName,const int& id)
 87  87     {
 88  88         try
 89  89         {
 90  90             char szCmd[256];
 91  91             sprintf( szCmd, "DELETE FROM %d WHERE id=%d;", TblName,id);//删除语句
 92  92             m_pSqlDb->execDML( szCmd );
 93  93         }
 94  94         catch (CppSQLite3Exception& e)
 95  95         {
 96  96             return FALSE;
 97  97         }
 98  98         return TRUE;
 99  99     }
100 100 };
101
102  
时间: 2024-11-18 16:39:53

c++调用SQLite3的常用使用方法;的相关文章

SQLite的常用的方法

在Android开发中SQLite起着很重要的作用,网上SQLite的教程有很多很多,不过那些教程大多数都讲得不是很全面.本人总结了一些SQLite的常用的方法,借着论坛的大赛,跟大家分享分享的. 一.SQLite的介绍 1.SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入  式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持 Windows/Linux/Unix等等

VC的常用调试方法

前言 VS是非常强大的IDE,所以掌握VSVC的常用方法,将会使得我们找出问题解决问题事半功倍. 目录 VSVC的常用调试方法 前言 1. Watch窗口查看伪变量 2. 查看指针指向的一序列值 3. 内存泄露查找 4. 调试Release版本 5. 远程调试 6. 函数断点 7. 数据断点. 8. 代码执行时间 9. 格式化数据 10. 格式化内存 Watch窗口查看伪变量 按MSDN的介绍,伪变量就是用来查看特定信息的术语.例如当调用的API失败时,可以用GetLastError获取对应的错

magic method细解python一直让我疑惑的几个常用魔法方法(上)

这里只分析几个可能会常用到的魔法方法,像__new__这种不常用的,用来做元类初始化的或者是__init__这种初始化使用的 每个人都会用的就不介绍了. 其实每个魔法方法都是在对内建方法的重写,和做像装饰器一样的行为.理解这个道理 再尝试去理解每个细节装饰器会比较方便. 关于__str__和__repr__: 直接上例子: class Test(object): def __init__(self, world): self.world = world def __str__(self): re

a 标签中调用js的几种方法

我们常用的在a标签中有点击事件:1. a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放.W3C标准不推荐在href里面执行javascript语句 2. a href="javascript:void(0);"

C语言中常用计时方法总结

转自:http://blog.csdn.net/fz_ywj/article/details/8109368 C语言中常用计时方法总结 1. time() 头文件:time.h 函数原型:time_t time(time_t * timer) 功能:返回以格林尼治时间(GMT)为标准,从1970年1月1日00:00:00到现在的此时此刻所经过的秒数. 用time()函数结合其他函数(如:localtime.gmtime.asctime.ctime)可以获得当前系统时间或是标准时间. 用difft

jQuery中一些不常用的方法属性【转载】

index(subject) 搜索与参数表示的对象匹配的元素,并返回相应元素的索引值.如果找到了匹配的元素,从0开始返回:如果没有找到匹配的元素,返回-1. data() data(elem):为页面对象添加唯一标识. data(name, value):将数据保存在元素的一个key里面.$("#box").data("shape","rectangle"). data(name):获取值.$("#box").data(&qu

jQuery常用工具方法

前面的话 jQuery提供一些与元素无关的工具方法,不必选中元素,就可以直接使用这些方法.如果理解原生javascript的继承原理,那么就能理解工具方法的实质.它是定义在jQuery构造函数上的方法,即jQuery.method(),所以可以直接使用.而那些操作元素的方法,是定义在构造函数的prototype对象上的方法,即jQuery.prototype.method(),所以必须生成实例(即选中元素)后使用.把工具方法理解成像javascript原生函数那样可以直接使用的方法就行了.下面将

线程常用的方法

/* 线程常用的方法: Thread(String name) 初始化线程的名字 setName(String name) 设置线程对象名 getName() 返回线程的名字 sleep() 线程睡眠指定的毫秒数. 静态的方法, 那个线程执行了sleep方法代码那么就是那个线程睡眠. currentThread() 返回当前的线程对象,该方法是一个静态的方法, 注意: 那个线程执行了currentThread()代码就返回那个线程 的对象. getPriority() 返回当前线程对象的优先级

常用数组方法

js与jquery常用数组方法总结 昨天被问数组方法的时候,问到sort()方法是否会改变原来的数组.本来我猜是不会,也是这么说,马上我又觉得,知识这种东西,不确定的时候直接说不确定或不知道就好,只是凭借着不确定的猜测或者是记忆,害人害己,于是我又回答不知道.结果果然...我记错了0.0 还是自己总结测试一下比较靠谱,印象也比较深刻.欢迎大家提出相关意见或建议,提前谢谢哈~ 一.原生js方法 1.遍历数组 in(同时也是对象遍历属性的方法) var a = [1, 2, 3]; for (x i