用CRecordSet的派生类的Open函数执行sql语句为什么不行?
我有两个代码,访问的是相同的功能
正确的:
CDatabase db;
db.OpenEx("DSN=DB;UID=sa;PWD=******;");
CRecordset rs(&db);
rs.Open(AFX_DB_USE_DEFAULT_TYPE,"select smax=min(cargoID) from NEWBUSY");
CDBVariant result;
rs.GetFieldValue("smax",result);
这个是可以返回正确结果的。
错误的:
if(m_newbusySet.IsOpen())
m_newbusySet.Close();
m_newbusySet.Open(AFX_DB_USE_DEFAULT_TYPE,"select smax=min(cargoID) from NEWBUSY");
CDBVariant strmax;
m_newbusySet.GetFieldValue("smax",strmax);
这个m_newbusySet是我用New Class生成的一个CRecordSet的派生类的一个对象,已经默认的连接到数据库了。返回的错误信息是:无效的描述器索引。
高手说说为什么啊。
另外,用CRecordSet的派生类的时候,总是要弹出一个登陆数据库的对话窗,现在总是使用“使用信任连接”,用户名和密码都不对,怎么不用“信任连接”啊?