首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

sqlite数据库不能连续存入数据的有关问题

2012-03-02 
sqlite数据库不能连续存入数据的问题我用evc编写的程序,将对话框中的数据存入数据库,第一次可以存入,不过

sqlite数据库不能连续存入数据的问题
我用evc编写的程序,将对话框中的数据存入数据库,第一次可以存入,不过第二次输入的数据不能存入到数据库中。
下面是我的程序
UpdateData(TRUE); // TODO: Add your control notification handler code here
if (!CheckVaild())//检查输入信息是否完整
{
AfxMessageBox(L"输入信息不完整!");
return;
}
int result;
CString str;
char *sql="INSERT INTO\"faultcode\" VALUES(NULL,'a','a','a','a'); ";
str="INSERT INTO faultcode VALUES(NULL,'";
  str+=m_Snumber;
  str+="','";
  str+=m_Sname;
  str+="','";
  str+=m_Sreason;
  str+="','";
  str+=m_Sstep;
  str+="');";

memset(sql, 0,100);
WideCharToMultiByte(CP_ACP, 0, str, -1, sql, 100, NULL, NULL);
str=sql;  
RETAILMSG(1, (TEXT("%s \n\r\n"),str));
result=sqlite3_exec( db , sql , 0 , 0 , &zErrMsg);
if(result !=SQLITE_OK)
printf("zErrMsg = %s \n", zErrMsg);

m_Snumber = _T("");
m_Sname = _T("");
m_Sreason = _T("");
m_Sstep = _T("");
UpdateData(FALSE);

AfxMessageBox(L"OK");
}

请教一下问题出在了哪里?

[解决办法]
debug 中看一下result=sqlite3_exec( db , sql , 0 , 0 , &zErrMsg);此时的sql 内容是什么。 错误信息是什么?
[解决办法]
用printf等打log看,另你不是已经打印zErrMsg了吗,提示什么?
另外看看WideCharToMultiByte的返回值

热点排行