04_MFC知識點總結(三)
一、文件檢視結構
文件類(CDocument):儲存載入(讀寫)資料
截圖類(CView):顯示和修改資料
1)單文件
a)文件模板:把框架視窗、文件、檢視關聯在一起
b)單文件(CDocument):
OnNewDocument(),第一次新建視窗呼叫,後面每次“新建”,自動呼叫次函式
DeleteContents(),做一些釋放資源的操作,後面按“新建”,新建前先呼叫此函式
c)框架類可以認為是檢視類的容器
2)各類相關訪問
a)在類檢視,如何訪問文件物件指標 CView::GetDocument
CDocument* GetDocument() const;
二、文件序列化(二進位制操作檔案CArchive)相當於Qt QDataStorm
序列化:以二進位制方式寫檔案
反序列化:以二進位制方式讀檔案
1)寫檔案
a)建立檔案物件 CFile
b)以寫方式開啟CFile::Open
c)建立序列化物件,並且和檔案關聯在一起CArchive
CArchive::Close
e)往資料流寫資料(相當於往檔案寫資料)
f)關閉檔案CFile::Close
2)讀檔案
a)建立檔案物件 CFile
b)以讀方式開啟CFile::Open
c)建立序列化物件,並且和資料夾關聯在一起 CArchive
CArchive::load從文件檔案裝載資料。 CFile只讀
d)往資料流讀資料(相當於往檔案讀資料)
ar >> a >> b >> c
e)斷開資料流和檔案的關聯 CArchive::Close
f)關閉檔案 CFile::Close
三、文件檢視案例
1)文件類自帶序列化操作函式 Serialize()
void
2)學生管理xit
a)定義一個學生類Stu
b)文件類儲存資料,檢視類修改和顯示資料
1)從尾部新增元素 CList::AddTail
2)獲得此列表尾部元素的位置 CList::GetTailPosition
3)獲取上一個元素 CList::GetPrev
4)獲取下一個元素 CList::GetNext
5)獲取當前首元素位置 CList::GetHeadPosition
6)獲取最後一個元素位置 CList::GetTailPosition
7)獲取指定元素位置 CList::GetAt
8)移除頭結點元素(並沒有釋放空間)CList::REmoveHead
c)檢視的基類是 CFormView
d)重寫文件類 DeleteContents(),做一些釋放資源的操作,每次按“新建”,新建前先呼叫此函式
四、資料庫程式設計
1)安裝mysql
a)安裝MySQL伺服器
b)MySQL odbc驅動
2)odbc層次圖
a)odbc一套標準介面(內部通過sql語句操作資料庫,使用者就算是不懂sql語句也可以藉助odbc)
b)資料來源
3)如何建立資料來源(MySQL只能是快照)
a)快照(Snapshot)記錄集:每次操作更新查詢後才更新
1)DoFiledExchange()自動把資料庫的欄位和變數相關聯
2)GetDefaultConnect()獲取資料庫連線資訊
3)GetDefaultSQL()獲取資料庫連線的表
b)動態(Dynaset)記錄集:每次操作自動更新(新增記錄外)
1)OnIitialUpdata()主要作初始化功能
4)應用程式情況
a)CRocordset的子類,主要是對資料庫進行相應操作
b)CFormView的子類,顯示資料庫的檢視
1)OnIitialUpdata()主要作初始化功能