您的位置:首页 > 数据库

ADO方式,VC调用Execute执行INSERT INTO插入变量SQL语句的写法

2012-11-26 21:20 603 查看
data,eata是char型的字段,pata是int型的字段,m_pConnection是_ConnectionPtr类型的
;

CString ss,s1;

ss.Format("qwesdffdfdf");

s1.Format("1223");

int a=5;

m_pConnection->Execute(_bstr_t("INSERT INTO shuju(data,eata,pata) VALUES('"+ss+"','"+s1+"',“+a+”)"),NULL,adCmdText);

这样写,会报错, 编译时提示error C2666:
'+' : 4 overloads have similar conversions

后来查了很多资料,试了还是不行,最后在一本书附带的例程了我看到了一个情况:书中定义了一个long型的变量,然后调用format格式化下就可以存了,于是将上面的改为:

CString ss,s1,s2;

ss.Format("qwesdffdfdf");

s1.Format("1223");

int a=5;

s2.Format("%d",a);

m_pConnection->Execute(_bstr_t("INSERT INTO shuju(data,eata,pata) VALUES('"+ss+"','"+s1+"',“+s2+”)"),NULL,adCmdText);

就可以了,对于已经定义的ss,s1,一定要用'""'(单引号,双引号,双引号,单引号)括起来,对于s2来说,用双引号“”或者’“”‘括起来都行。

这是我偶然发现的,跟大家分享下,尽量少走弯路,如果大家有啥更好的方法,也请多多指点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐