带有sqlite数据库的C ++类

时间:2014-02-13 06:39:28

标签: c++ sqlite

我正在使用Qt creator ide和纯c ++编码。我需要创建一个包含2个成员变量A& B(也在表中添加)和3个公共和私人功能。

公共功能:检查数据库是否存在,是否存在打开并读取数据A& B从私人调用3个函数。第二个函数是生成一个26字符数组并以25位数字存储。使用srand()返回它 - getA()。第三个函数是采用sha256哈希结合第二个函数+时间戳 - getB()。

私有函数:创建一个sqlite数据库,初始化一个基本的表结构(char A | char B | blob C).3rd函数是生成存储到数据库的细节以及A& B.从此函数调用getA()和getB()以生成详细信息。

CODE:

  class Init  {

   char AppID[50];
   char AppCode[50];

 //create sqlite database
 int DbInit() {

    sqlite3 *db;
        if(sqlite3_open("Init.db", &db))
            cout<<"opened database successfully\n";
        else
            cout<< "failed to create database\n";
        return 0;

       }
   //initialize table
   int tableGen() {

    string query = "CREATE TABLE tableInit(AppID TEXT(25), AppCode TEXT(60),Cert BLOB)";
    sqlite3_stmt *stmnt;
    cout<< "creating table statement"<<endl;
    sqlite3_prepare(db, query.c_str() , query.size(), &stmnt, NULL );
    if(sqlite3_step(stmnt)  !=SQLITE_DONE)
        cout<< "didnt create table"<<endl;


  }
  //generate details to store to database and also into member functions.
  int AppGen() {
            both getappid and get appcode is called to generate details.
  }



   public:
  Init() {}


  //check whether database exists if exists read data else call the private functions .
  bool start() {

   int rc = sqlite3_open("Init.db", &db, SQLITE_OPEN_READONLY);
   if(rc = SQLITE_OK) {
       sqlite3_stmt *statement;
       sqlite3_prepare(db,"SELECT AppID,AppCode FROM tableInit",-1,&statement,0);
       sqlite3_step(statement);
   }
   else

       Init::DbInit();
       Init::tablegen();
       Init::AppGen();


  }
   // generate appid 
   int GetAppID() {
          generate a 25 digit number and store it in an array using rand()

  }

  //take sha256 hash concating appid + time-stamp
   int  getcode() {

    }

从初学者开始,请检查代码是否有任何错误。

如何定义appgen(),appid()和code()?

1 个答案:

答案 0 :(得分:0)

我认为该样品将是有帮助的http://www.tutorialspoint.com/sqlite/sqlite_c_cpp.htm