日期:2014-05-17  浏览次数:20577 次

sqlserver2005 ado 查询问题
代码如下,
strNewSql.Format("use %s\r\nSelect * FROM %s", dbOld, newArray[i]);
result=m_pNewRecordset->Open((_bstr_t)strNewSql,                // 查询DemoTable表中所有字段
m_pConnection.GetInterfacePtr(),       // 获取库接库的IDispatch指针
adOpenDynamic, // adOpenStatic, //adOpenDynamic, //创建静态记录集
adLockOptimistic,
adCmdText);
int a=m_pNewRecordset->RecordCount;


遇到问题,查询成功返回了,但是a总是-1,不知道为什么,有知道怎么解决的吗?

------解决方案--------------------
引用:
Quote: 引用:


use %s\r\nSelect * FROM %s

这里的use 是什么意思,难道是 use 数据库 吗?

对,是切换当前的数据库


哦,那就会报错哈,因为这个use命令,不是sql语句,只是sql server 的客户端支持的命令,
所以,你可以这样写:

Select * FROM %s

在上面的%s中直接加入数据库,比如:

数据库名称.dbo.表