科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道关于DAO数据库编程的几点经验

关于DAO数据库编程的几点经验

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

     一、如何在新建时没选数据库支持的程序中加入数据库支持      以对话框DAO-Access为例:      1.1用类向导新建类.Name:"mydb", Base Class:"DaoRecordset",选择正确的数据源和表.   

作者:中国IT实验室 来源:中国IT实验室 2007年9月29日

关键字: 编程

  • 评论
  • 分享微博
  • 分享邮件
  
  一、如何在新建时没选数据库支持的程序中加入数据库支持
  
  以对话框DAO-Access为例:
  
  1.1用类向导新建类.Name:"mydb", Base Class:"DaoRecordset",选择正确的数据源和表.
  
  注:vc6无法直接对access2000进行支持,要用的话先转换为97版才行。
  
  1.2在mydb头文件加入#include"afxdao.h".在对话框类头文件加入#include"mydb.h".
  
  1.3测试:在对话框类加入一按钮,在其响应函数内加入如下代码:
  mydb db;
  db.Open();
  MessageBox(db.m_answerA);
  db.Close();
  这里假设我的数据库表里有answerA字段.
  
  二、如何在数据库没有静态绑定其他控件的程序手工加入静态绑定.
  
  仍以上面为例.先把先前的按钮及其消息处理函数删掉.加入一EDIT控件.
  
  2.1 声明:在对话框头文件的AFX_DATA内加入:mydb* rec;如下:
  //{{AFX_DATA(CAaaDlg)
  enum { IDD = IDD_AAA_DIALOG };
  mydb* rec;
  // NOTE: the ClassWizard will add data members here
  //}}AFX_DATA
  
  2.2 绑定:在类向导为edit控件添成员变量m_amswerA.(在向导中选择)
  
  2.3 初始化:在对话框构造函数内加入
  rec=new mydb;
  rec->Open();
  
  2.4 销毁:响应对话框WM_CLOSE消息,加入消息处理代码:
  rec->Close();
  delete rec;
  
  2.5 测试:编译运行,就可以看到EDIT框里出现了数据库的内容.唯一不足的是不能自动更新显示.需手工UpdateData(0);
  
  三、如何确保上述程序拷到别人机里仍可运行.(数据库也拷在同一目录)
  
  把刚才mydb类GetDefaultDBName()函数内容改为:
  char str[255];
  GetCurrentDirectory(255,str);
  strcat(str,"\\my.mdb");
  return _T(str);
  
  后记
  虽然DAO逐渐被ADO所取代,但仍旧有许多网友通过DAO来学习VC下的数据库编程,以上是自己摸索所得的经验,希望对初学者有所帮助,有不妥之处请各位大虾指正!
  欢迎交流!king_koo@163.net

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件