在线等!sql的update语句中使用int变量总是有问题
cjs和ydl是两个int型变量,需要把这两个值更新到数据表中m_connection->Execute("updateDATA_TABLEsetCJS="&cjs&",...
cjs和ydl是两个int型变量,需要把这两个值更新到数据表中
m_connection->Execute("update DATA_TABLE set CJS="&cjs&",YDL="&ydl&" where RECORD_DATE=convert(smalldatetime,'"+(_bstr_t)strdate+"-26')",RecordsAffected,adCmdText);
编译报错error C2296: '&' : illegal, left operand has type 'char [36]',怎么改?
CJS="+cjs+",YDL="+ydl+"和CJS=’"+cjs+"‘,YDL=’"+ydl+"‘都试过不行。
而我直接在sql语句中赋值:
m_connection->Execute("update DATA_TABLE set CJS=11,YDL=12 where RECORD_DATE=convert(smalldatetime,'"+(_bstr_t)strdate+"-26')",RecordsAffected,adCmdText);
则可编译通过且运行
(sql server平台) 展开
m_connection->Execute("update DATA_TABLE set CJS="&cjs&",YDL="&ydl&" where RECORD_DATE=convert(smalldatetime,'"+(_bstr_t)strdate+"-26')",RecordsAffected,adCmdText);
编译报错error C2296: '&' : illegal, left operand has type 'char [36]',怎么改?
CJS="+cjs+",YDL="+ydl+"和CJS=’"+cjs+"‘,YDL=’"+ydl+"‘都试过不行。
而我直接在sql语句中赋值:
m_connection->Execute("update DATA_TABLE set CJS=11,YDL=12 where RECORD_DATE=convert(smalldatetime,'"+(_bstr_t)strdate+"-26')",RecordsAffected,adCmdText);
则可编译通过且运行
(sql server平台) 展开
3个回答
展开全部
是什么语句?asp.net吗?试试吧:
m_connection->Execute("update DATA_TABLE set CJS="&Cstr(cjs)&",YDL="&Cstr(ydl)&" where RECORD_DATE=convert(smalldatetime,'"+(_bstr_t)strdate+"-26')",RecordsAffected,adCmdText);
m_connection->Execute("update DATA_TABLE set CJS="&Cstr(cjs)&",YDL="&Cstr(ydl)&" where RECORD_DATE=convert(smalldatetime,'"+(_bstr_t)strdate+"-26')",RecordsAffected,adCmdText);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用+号,并且,把变量cjs和ydl转换成字符串试试看。
追问
改成CString后,编译报错 error C2666: '+' : 2 overloads have similar conversions
追答
除了查一下有否写错,还请阅读c++相关转换,抱歉,我无此环境,无法测试。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-26
展开全部
把Execute里面的sql打印出来看看组装后的sql是否正确
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询