荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: DuMiYue (TH@Figo), 信区: Visual
标  题: 关于DAO数据库编程的几点经验
发信站: 荔园晨风BBS站 (Tue Mar 19 14:17:25 2002), 转信


 [ 本文适合中级读者 已阅读13次 ]
关于DAO数据库编程的几点经验
作者:广东南海昭信科技有限公司 king_koo
前言
本文是作者在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

--
他能够不知不觉令到我倾心
    也能够一句说话而留下痛恨
        感情最光辉一刹热暖我一生
            爱人远走了以后仍然是爱人

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 218.30.30.9]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店