作者:李建国 版权所有:广东南海市昭信科技有限公司-李建国 转载请与作者联系 前言 本文是作者在DAO数据库编程中积累的经验,希望对使用DAO进行开发的朋友有所帮助。 一、如何在新建时没选数据库支持的程序中加入数据库支持 以对话框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 |