GetRows失败。所请求的列不是该记录集的一部分

pbdwadr 2006-12-12 10:40:23
我用CDaoRecordset+Access97编写的程序,
运行到下面这个程序的myRecord.Open(AFX_DAO_USE_DEFAULT_TYPE,sql, NULL);这句的时候
保错:“GetRows失败。所请求的列不是该记录集的一部分”
我根本没有调用GetRows这个函数啊
为什么出这个错误啊??
请多多帮忙:)

/*-----这个函数是打开由strTable所指定的表------------*/
CMyRecordset* CMyRecordset::OpenRecordset(CString strTable)
{
//获取当前运行程序的路径,存在sPath中
CString sPath,strFile;
GetModuleFileName(NULL,sPath.GetBufferSetLength (MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind ('\\');
sPath=sPath.Left (nPos);
strFile = sPath + "\\Database\\MoneyManager.mdb";

myDB.Open(strFile);
CString sql="";
sql.Format("SELECT Money.* FROM [%s];",strTable);
myRecord.Open(AFX_DAO_USE_DEFAULT_TYPE,sql, NULL);//+++++++++这里出错

return &myRecord;
}
...全文
166 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
pbdwadr 2006-12-13
  • 打赏
  • 举报
回复
问题解决了
解决办法是:
不派生自己的CDaoRecordset类了
直接用
不知道为什么。
还是谢谢你们
揭帖
pbdwadr 2006-12-12
  • 打赏
  • 举报
回复
这个错误一般是什么原因啊
我知道你们没有代码很难判断错误
我也很郁闷
刚学,在网上找不到答案
pbdwadr 2006-12-12
  • 打赏
  • 举报
回复
一样的
王国凡 2006-12-12
  • 打赏
  • 举报
回复
最后一个参数用 dbReadOnly 试试看.
pbdwadr 2006-12-12
  • 打赏
  • 举报
回复
这个是用access生成的
我第一次用的直接是*
然后错了
我就直接复制access 生成的
王国凡 2006-12-12
  • 打赏
  • 举报
回复
而且 sql 中, 最后不需要分号, 如果你要返回表中的所有记录, 则是:
sql.Format("SELECT * FROM [%s]", strTable);
王国凡 2006-12-12
  • 打赏
  • 举报
回复
Money.* 没这种写法吧.
shawnwan 2006-12-12
  • 打赏
  • 举报
回复
sql.Format("SELECT Money.* FROM [%s];",strTable);
的错误吧,,,检查SQL语句到底是什么东西?是否出错了?
pbdwadr 2006-12-12
  • 打赏
  • 举报
回复
那这个错误是为什么啊?
shawnwan 2006-12-12
  • 打赏
  • 举报
回复
GetRows是Open自动调用的呀,进行myRecord的赋值啊~~~~~~~~~~~~~~~~~~~~~

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧