日期:2014-05-18  浏览次数:20644 次

有关MFC ODBC + SQL的问题
我使用MFC   ODBC连接SQL   Server2005数据库,数据库连接,插入数据都没有问题。
在程序中查询表中的数据时,rs.Open(..)语句老是报错误:
对象名Calendar无效。
未能准备语句。

具体代码很简单,如下:
CString   temp;
temp   =   _T( "SELECT   *   FROM   Calendar ");     //Calendar为表名
rs.Open(CRecordset::snapshot,temp);
while(!rs.IsEOF())
{
int   id;
CString   area;
CDBVariant   var;
rs.GetFieldValue((short)0,var,SQL_C_SLONG);
if(var.m_dwType   !=   DBVT_NULL)
id   =   var.m_iVal;
var.Clear();
rs.GetFieldValue(1,area);
AfxMessageBox(area);
rs.MoveNext();
}

但如果先执行插入操作,再执行上面的查询操作,就没有问题插入操作的代码如下:
try{
          CString   sql   =   _T( "USE   Test01   INSERT   Calendar         (UserID,TimeFrom,TimeUntil,Event)  
VALUES( '125 ', '2007-09-15   13:00 ', '2007-09-15   15:30 ', 'Busy ') ");

m_db.ExecuteSQL(sql);
      }
请问这个是怎么回事呀?
感觉两部分代码没有什么关系阿?请高手指点一下啊~~~~~~~~谢谢了!

------解决方案--------------------
先得放dataset后,然后show吧.