VC通过ADO方式修改ACCESS数据库的记录

来源:百度知道 编辑:UC知道 时间:2024/06/16 13:54:08
CString sqlminTmp="update Temperature set 最小值="+m_MinTmp+" where 通道数='"+0+"'";
m_pStorage.ExecSql(sqlminTmp);
老是报错:error C2111: pointer addition requires integral operand
请高手指点!!!!!111

CString sqlminTmp="update Temperature set 最小值="+m_MinTmp+" where 通道数='"+0+"'";
+m_MinTmp、+0做何解释?CString+int?当然会出错拉...
像这样的命令文本、连接字符串之类的还是用Format吧。
CString sqlminTmp;
sqlminTmp.Format(_T("update Temperature set 最小值= %d where 通道数=0"),m_MinTmp);
m_pStorage.ExecSql((_bstr_t)sqlminTmp);

与数据库没有什么联系,是你的CString 它不支持“连续”用 两个以上"+"给字符串赋值。
你把它们分别相加:
CString sqlminTmp="update Temperature set 最小值=";
sqlminTmp = sqlminTmp + m_MinTmp
sqlminTmp = sqlminTmp +" where 通道数='"
sqlminTmp = sqlminTmp + 0
sqlminTmp = sqlminTmp +
sqlminTmp = sqlminTmp + "'";

或者用Format格式化
// 然后执行查询
m_pStorage.ExecSql(sqlminTmp);

'"+0+"'";

CString里没有这用法。只能是可以强制转换成CString的类型。