文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>ADO访问DB列名无效

ADO访问DB列名无效

时间:2011-01-20  来源:狂人乌苏三

我一直在检查是不是表中的字段名用了关键字,然后或者是程序中和表的字段名不一致啥的。因为我的查询变量定义的类型是_bstr_t,压根就没考虑到查询变量不被DB识别的问题。

汗,结果是个超低级的错误。

code1(错误的):

_bstr_t vSQL;

vSQL="SELECT * FROM Users WHERE UserName="+cUserName;//cUserName是个CString变量,两者相加,编译可行

执行。

然后结果就是这个cUserName对应输入的值无法识别,说列名无效。

其实这个SQL语句还算是简短的,长了就很麻烦,VC又不支持两个字符常量直接相加,一个SQL语句要加N次,还容易出错。

用Format就方便许多。

code2(正确的):

_bstr_t vSQL;

CString sSQL;

sSQL.Format("SELECT * FROM Users WHERE UserName='%s'",cUserName);//假如SQL语句超长,这里就很好写,不用总是加来加去

vSQL=_bstr_t(sSQL);//最后转换成DB支持的_bstr_t类型就OK了。

执行。

当然也可以在code1直接再转换一下,不用搞个CString什么的,只是format超方便,推荐之。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载