下面测试用的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