当前位置: 代码迷 >> Sql Server >> 关于MSSQL数据库查询有关问题
  详细解决方案

关于MSSQL数据库查询有关问题

热度:46   发布时间:2016-04-24 09:31:03.0
求助关于MSSQL数据库查询问题
我现在有一个数组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””)

求解决~~~~
------解决思路----------------------
数据库连上了没?
------解决思路----------------------
调试,把 bstrSQL1 的值复制到查询分析器中运行,有没有结果?
  相关解决方案