当前位置:编程学习 > C/C++ >>

关于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);

 

 

 

补充:软件开发 , C语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,