我正在使用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()?