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

xa\n 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””)

求解决~~~~
...全文
155 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xa\n 2014-12-30
  • 打赏
  • 举报
回复
引用 1 楼 DBA_Huangzj 的回复:
数据库连上了没?
谢谢啦~~已经解决啦~是我字符串忘记加\0了 真捉急 哈哈哈
xa\n 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
  • 打赏
  • 举报
回复
数据库连上了没?

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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