程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 關於DAO數據庫編程的幾點經驗

關於DAO數據庫編程的幾點經驗

編輯:關於C語言

 

 

一、如何在新建時沒選數據庫支持的程序中加入數據庫支持

 

以對話框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);

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved