下面测试用的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
原文链接: https://www.cnblogs.com/left69/p/5703155.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/237605
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!