背景
在MFC中使用SQLite数据库,可由用sqlite3_errmsg查看返回的错误内容。之前显示出的报错内容都是乱码,后来找到了能正常显示的方法。为了使用方便,把代码封装成几个函数,使用时调用showSQLiteErrorMessagebox。
程序实现
void showSQLiteErrorMessagebox(sqlite3* db,CString showErrorMessageTitle ){
///输入值:db - sqlite3 *db;
//输入值:showErrorMessageTitle - 对话框的标题
const char* errorContent = sqlite3_errmsg(db);
CString showContent;
showContent =ConstCharToCString(errorContent) ;
MessageBox(NULL, showContent ,showErrorMessageTitle , NULL);
}
CString ConstCharToCString(const char* ch)
{
char *buf = new char[strlen(ch)+1];
memset(buf , 0 , sizeof(ch));
strcpy(buf , ch);
CString strName ;
strName = buf;
delete []buf;
return strName ;
}
经过实践检验,上述代码可用。