求助关于MSSQL数据库查询问题

zhengxian_ 2014-12-26 05:21:04
我现在有一个数组char tele[20],里面已经存好了值,现在利用这个变量去查找sql2005数据库的serial_number字段,但是取得的记录集始终不对,附上核心代码 求大神门解决菜鸟疑问~!(开发环境是VS2010,代码是用C++写的)

CString CStrSN;
CStrSN.Format("%s",tele); //将字符串数组转换成CString型

_bstr_t bstrSQL1="select serial_number,city from dev_property where serial_number = '"+CStrSN+"'";//这是我的查询字符串

if(m_pRecordset1->adoEOF) //判断是否取到了空的记录集
{
printf("没有找到这台设备!\n");
return 0;
}
让人惊讶的是,居然执行了if语句,但是我记录集确实不是空啊!!确实是有记录的啊!!!所以我初步怀疑应该是查询字串后面的变量那里根本就没有得到正确的值,而导致查到的记录集为空。(到底字串的变量能不能为CString型的啊?我也试过把tele[20]换成普通的string型放进去,结果报错,说“error C2440: “初始化”: 无法从“std::basic_string<_Elem,_Traits,_Ax>”转换为“_bstr_t””)

求解决~~~~
...全文
124 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhengxian_ 2014-12-30
引用 1 楼 DBA_Huangzj 的回复:
数据库连上了没?
谢谢啦~~已经解决啦~是我字符串忘记加\0了 真捉急 哈哈哈
回复
zhengxian_ 2014-12-30
引用 楼主 zztegghjh 的回复:
我现在有一个数组char tele[20],里面已经存好了值,现在利用这个变量去查找sql2005数据库的serial_number字段,但是取得的记录集始终不对,附上核心代码 求大神门解决菜鸟疑问~!(开发环境是VS2010,代码是用C++写的) CString CStrSN; CStrSN.Format("%s",tele); //将字符串数组转换成CString型 _bstr_t bstrSQL1="select serial_number,city from dev_property where serial_number = '"+CStrSN+"'";//这是我的查询字符串 if(m_pRecordset1->adoEOF) //判断是否取到了空的记录集 { printf("没有找到这台设备!\n"); return 0; } 让人惊讶的是,居然执行了if语句,但是我记录集确实不是空啊!!确实是有记录的啊!!!所以我初步怀疑应该是查询字串后面的变量那里根本就没有得到正确的值,而导致查到的记录集为空。(到底字串的变量能不能为CString型的啊?我也试过把tele[20]换成普通的string型放进去,结果报错,说“error C2440: “初始化”: 无法从“std::basic_string<_Elem,_Traits,_Ax>”转换为“_bstr_t””) 求解决~~~~
引用 2 楼 Tiger_Zhao 的回复:
调试,把 bstrSQL1 的值复制到查询分析器中运行,有没有结果?
谢谢啦~~已经解决啦~是我字符串忘记加\0了 真捉急 哈哈哈
回复
Tiger_Zhao 2014-12-29
调试,把 bstrSQL1 的值复制到查询分析器中运行,有没有结果?
回复
發糞塗牆 2014-12-29
数据库连上了没?
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2014-12-26 05:21
社区公告
暂无公告