class csqlite
{
...
bool sql_Select(const char *pSql)
{
...
int res = sqlite3_exec(pDB,str.c_str(),callback,0,&errMsg);
...
return true;
}
...
static int callback(void *NotUsed,int argc,char **argv,char **azColName)
{
...
return 0;
}
...
};我现在这样调用
void CProjectDlg::OnBtnRead()
{
CSqlite sqlite;
bool b = sqlite.sql_Select("select * from tab;");
}callback里面会出结果,现在我想把它放到CProjectDlg类里面,然后在sqlite.sql_Select中传递这个函数名过去用。怎么实现呢?急,高手速来,谢谢。
{
...
bool sql_Select(const char *pSql)
{
...
int res = sqlite3_exec(pDB,str.c_str(),callback,0,&errMsg);
...
return true;
}
...
static int callback(void *NotUsed,int argc,char **argv,char **azColName)
{
...
return 0;
}
...
};我现在这样调用
void CProjectDlg::OnBtnRead()
{
CSqlite sqlite;
bool b = sqlite.sql_Select("select * from tab;");
}callback里面会出结果,现在我想把它放到CProjectDlg类里面,然后在sqlite.sql_Select中传递这个函数名过去用。怎么实现呢?急,高手速来,谢谢。
class CProjectDlg
{
...
public:
static int callback(void *NotUsed,int argc,char **argv,char **azColName)
{
...
return 0;
}
...
}; 调用:
int res = sqlite3_exec(pDB,str.c_str(),CProjectDlg::callback,0,&errMsg);
{
CSqlite sqlite;
CALLBACK callback = ...; //取函数地址
bool b = sqlite.sql_Select(callback); //调用
}