樹型控制項實現資料庫的訪問

2021-08-26 07:22:43 字數 2412 閱讀 9760

本人意圖將資料庫中的內容加入樹型控制項中,通過建立資料庫,再與樹型控制項相連,實現資料庫的訪問。查詢結構清晰明了,操作方便。

現將其方法闡述如下:

1、 建資料庫:建立access資料庫,資料庫結構和內容見程式包access檔案。

2、 建立單文件不基於資料庫支援的應用程式工程,檢視類繼承於cformview,本程式

工程名ppp,檢視類名為cpppview。

3、 建立資料庫集,資料來源採用dao連線,繼承於cdaorecordset,類名為 cshengset

4、 在stdafx.h檔案中加入支援dao連線的資料源頭檔案

#include // mfc core and standard components

#include // mfc extensions

#include // mfc automation classes

#include //加入行,實現本檢視類對access資料庫的訪問

#include // mfc support for internet explorer 4 common controls

#ifndef _afx_no_afxcmn_support

#include // mfc support for windows common controls

#endif

5、在pppview.h中加入資料集標頭檔案中。
#include"shengset.h"

同時定義資料集類變數
public:

cshengset *m_shengset;

6、 在pppdoc.h中加入資料集標頭檔案中。
#include"shengset.h"

同時定義資料集類變數
public:

cshengset m_shengset;

cformview::oninitialupdate();

cpppdoc* pdoc = (cpppdoc*)getdocument(); //得到指向文件類指標

m_shengset=&pdoc->m_shengset;//得到資料庫指標

void cpppview::oninitialupdate()

}

最終結果如圖1左邊視窗所示:

10、 插入對話方塊資源(formview),建立該對話方塊的新類cshengview,繼承於crecordsetview,資料集選擇第3步資料集。同時在對話方塊中加入編輯框以顯示資料記錄。同時在shengview.h標頭檔案中加入以下標頭檔案,

#include"pppdoc.h"

#include "shengset.h"

11、 在mainfrm類中定義
public:

csplitterwnd m_wndspmain;

運用嚮導加入oncreateclient()函式和以下**實現資料記錄顯示

bool cmainframe::oncreateclient(lpcreatestruct lpcs, ccreatecontext* pcontext)

if (!m_wndspmain.createview(0, 0, runtime_class(cpppview),

csize(180, 200), pcontext))

if (!m_wndspmain.createview(0, 1,

runtime_class(cshengview), csize(100,100), pcontext))

return true;

}

該**實現本框架兩個視窗的顯示。至此本程式達到如下圖效果:

圖一12、 此時還不能實現資料的訪問功能,在pppdoc .h 檔案中加入

public:

cstring name;

13、 運用嚮導在類cidview的控制項idc_tree1加入onselchangedtree1()函式,函式**如下,**實現的功能是將將樹型控制項的選擇項名稱賦給pdoc->name。

void cidview::onselchangedtree1(nmhdr* pnmhdr, lresult* presult)

*presult = 0;

}

14、 運用嚮導在cshengview.cpp中加入ontimer()函式,該函式根據樹型控制項選擇項內容更新記錄內容,**如下:
void cshengview::ontimer(uint nidevent) 

}

15、 在cshengview.cpp中的oninitialupdate()函式中加入以下**,該**每10毫秒觸發wm_timer事件,實現記錄的實時更新。 void cshengview::oninitialupdate()

總結:本方法以樹型控制項形式實現視覺化資料庫瀏覽,程式設計實現簡單,實際操作方便。

用資料庫實現樹型結構

做 的時候有時需要實現乙個樹形列表,類似目錄那樣的。最好的建立方法就是採用指向父節點的指標的結構建立表。表的結構如下 表名為xx 字段 型別 null 預設 注釋 cidint 11 否 主鍵 pid int 11 否 0 父類別的cid,0表示該項為頂層類別。name varchar 64 否 類...

訪問資料庫 訪問資料庫

程式執行的時候,資料都是在記憶體中的。當程式終止的時候,通常都需要將資料儲存到磁碟上,無論是儲存到本地磁碟,還是通過網路儲存到伺服器上,最終都會將資料寫入磁碟檔案。而如何定義資料的儲存格式就是乙個大問題。如果我們自己來定義儲存格式,比如儲存乙個班級所有學生的成績單 名字成績 michael99 bo...

通過ADO控制項訪問資料庫示例

下面以microsoft office access資料庫為例,講解通過ado控制項訪問資料庫的方法。這種方法基本不用編寫 就可以完成對資料庫的訪問,非常方便。1 在access 中建立資料庫 student.mdb 並新增表 stu info 如下圖 這裡的欄位名使用了中文,只是為了教學方便,建議...