我使用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吧.