数据库:Access97
字段:aa(长整型) bb(整型)
CDaoDatabase caddb;
CDaoRecordset RecSet(&caddb);
COleVariant var;
queryStr.Format(_T("SELECT * FROM mydatabase WHERE bb>100"));
RecSet.Open(AFX_DAO_USE_DEFAULT_TYPE,queryStr,NULL);
RecSet.MoveLast(); //正确。能得到查询结果
queryStr.Format(_T("SELECT * FROM mydatabase WHERE aa>100"));
RecSet.Open(AFX_DAO_USE_DEFAULT_TYPE,queryStr,NULL);
RecSet.MoveLast(); //出错。返回结果集为空,所以报异常退出。
queryStr.Format(_T("SELECT * FROM mydatabase WHERE aa>100"));
RecSet.Open(AFX_DAO_USE_DEFAULT_TYPE,queryStr,NULL);
if ( !RecSet.IsEOF()) RecSet.MoveLast(); //返回结果集可能为空,就不能MoveLast();否则出错
加上if ( !RecSet.IsEOF()) RecSet.MoveLast();试试,报什么错?跟踪一下,在那里报错
SELECT * FROM mydatabase WHERE aa>100直接在数据库的查询环境中执行,看是什么结果。
“这说明是数据类型为长整型的原因,但为什么是整型可以执行正确,是长整型就出错了呢?”你说的情况我觉得是不太可能的,还是认真地检查你的数据和数据类型。
small_wei@sohu.com
我觉得,你这几行是连续写的吧?,你没close掉旧的open! 开一次就要关一次的
NO是access关键字,所以有这样的错误!!这样就不会有问题了
SELECT * FROM functree WHERE [no]>100
你的问题没有说清楚,如果你不给数据库给我,我真搞不明白.