VC ADO 更新数据库问题

dream19861009 2008-08-23 12:40:06

m_pCmd->CommandText = (_bstr_t)("UPDATE Supplier SET SupplierName = '"+m_strName+"' WHERE SupplierID = m_iID");
m_pCmd->Execute(NULL,NULL,adCmdText);


其中m_strName是Cstring型变量,m_iID 是个 int 型变量,m_pCmd->ActiveConnection = m_pConn;之前都有的,可运行到这里的时候就会
idispatch error #3092 这样的错,错在哪里了
...全文
90 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dream19861009 2008-08-23
  • 打赏
  • 举报
回复
没有用int型变量不能直接与CString进行运算啊?楼上的意思是。。。
xkyx_cn 2008-08-23
  • 打赏
  • 举报
回复
不可以,int型变量不能直接与CString进行运算
dream19861009 2008-08-23
  • 打赏
  • 举报
回复
我后来又试了1楼和2楼的方法 通过了,但请问我写的那种方法可以吗
xqls_xqls 2008-08-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xkyx_cn 的回复:]
应该用一个CString变量来进行格式化:

C/C++ code
CString sSQL;
sSQL.Format(("UPDATE Supplier SET SupplierName = '%s' WHERE SupplierID=%d"), m_strName, m_iID);
m_pCmd->CommandText = (_bstr_t)sSQL;
m_pCmd->Execute(NULL,NULL,adCmdText);
[/Quote]

赞同
xkyx_cn 2008-08-23
  • 打赏
  • 举报
回复
应该用一个CString变量来进行格式化:

CString sSQL;
sSQL.Format(("UPDATE Supplier SET SupplierName = '%s' WHERE SupplierID=%d"), m_strName, m_iID);
m_pCmd->CommandText = (_bstr_t)sSQL;
m_pCmd->Execute(NULL,NULL,adCmdText);

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧