CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

使用DAO为什么会出错?

楼主littlepig_2002(小朱)2005-06-02 12:23:36 在 VC/MFC / 基础类 提问

主窗口类中声明CDaoDatabase,   视图类中声明CDaoRecordset,但运行时程序总出错?  
   
  在主窗口中声明CDaoDatabase   m_daoDB;   在构造,析构中打开,关闭数据库  
  构造函数中  
  m_daoDB.Open("zl.mdb");                                
  析构函数中  
  m_daoDB.Close();  
   
  在视图类中声明CDaoRecordset   m_daoRS;   在构造,析构中打开,关闭记录集。但总是出现运行程序异常(编译没有错误)  
  构造中:  
                                                    //框架窗口类  
  m_daoRS.m_pDatabase   =   &(((CMainFrame*)AfxGetMainWnd())->m_daoDB);  
  //加入就会出错,好像是DATABASE没有传递给RECORDSET?  
  m_daoRS.Open(AFX_DAO_USE_DEFAULT_TYPE,   "SELECT   *   FROM   zll");  
  析构中:  
  m_daoRS.Close();  
  问题点数:66、回复次数:7Top

1 楼littlepig_2002(小朱)回复于 2005-06-02 15:44:07 得分 0

?Top

2 楼littlepig_2002(小朱)回复于 2005-06-02 15:58:03 得分 0

DaoRecordset的函数在VIEW视图类中的其它函数中调用就可以,如OnInitialUpdate中。这是为什么?是不是因为录VIEW视图构造函数调用时,DAODATABASE还没有创建?Top

3 楼koko1998(高价购买火车票)回复于 2005-06-02 16:39:18 得分 11

/*   レコードセットオブジェクト   */  
  CDaoRecordset*   pSet   =   new   CDaoRecordset(m_database);  
  try  
  {  
  /*   クエリーを実行する   */  
  pSet->Open(dbOpenDynaset,query,0);  
                                  ............      
  }  
  catch   (CDaoException*   e)   /*   データベースのエラーを処理する   */  
  {  
  if   (   m_exception   !=   NULL   )       /*   m_exceptionが   NULL   でない場合は、*/  
  { /*   オブジェクトを削除する   */  
  m_exception->Delete();  
  }  
                  m_exception   =   e;   /*   エラーオブジェクトのアドレスを   m_exceptionに設定   */  
  delete   pSet;  
  pSet   =   NULL;  
  return   NULL;  
  }Top

4 楼dfyang()回复于 2005-06-02 19:44:14 得分 22

m_daoRS.m_pDatabase   =   &(((CMainFrame*)AfxGetMainWnd())->m_daoDB);  
  这句有问题,视图类还没构造出来就AfxGetMainWnd()是不行的  
  Top

5 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-06-02 21:34:33 得分 11

换个调用的位置Top

6 楼xyw2278(启明星)回复于 2005-06-02 22:25:13 得分 11

m_daoRS.m_pDatabase   =   &(((CMainFrame*)AfxGetMainWnd())->m_daoDB);  
   
  换到视图类OnInitUpdate中去Top

7 楼xyw2278(启明星)回复于 2005-06-02 22:25:46 得分 11

m_daoRS.Open(AFX_DAO_USE_DEFAULT_TYPE,   "SELECT   *   FROM   zll");  
   
  也是Top

相关问题

  • 为什么DAO会出错?
  • ▲▲▲▲▲▲请问:为什么使用response.charset出错?
  • 请教为什么 调用 DAO 的FindFirst函数总是出错?
  • 使用StringGrid时,为什么StringGrid1.Cols[0].insert(10,'zhang');出错?
  • 为什么我使用API函数SETWINDOWPOS时出错?
  • 在使用TiniFile的ReadString中为什么会出错
  • 使用webbrowser出错“List index out of bounds(0) ”为什么!!!!
  • ADOQUERY 中使用sql语句insert为什么会出错呢?
  • 为什么我使用资源文件出错?
  • 为什么我使用资源文件出错?

关键词

  • 视图
  • 函数
  • null
  • daors
  • daodb
  • する
  • オブジェクト
  • cdaorecordset
  • pset
  • pdatabase

得分解答快速导航

  • 帖主:littlepig_2002
  • koko1998
  • dfyang
  • oyljerry
  • xyw2278
  • xyw2278

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo