從來沒有獨(dú)立做過ODBC數(shù)據(jù)庫的程序,今天才發(fā)現(xiàn)原來自己動(dòng)起手來是那么得蹣跚,呵呵??戳恕?A id=CategoryEntryList1_EntryStoryList_Entries__ctl0_TitleUrl href="/geforcex/articles/1288.html">
Visual C++中為普通程序添加ODBC應(yīng)用》后收獲不小,現(xiàn)把這些記錄下來,以便日后再忘記的話可以查閱^_^#
1。給程序加入ODBC數(shù)據(jù)庫的支持需要用到兩個(gè)類:CDatabase和CRecordset,主要是后面一個(gè);
2。一般步驟為:
(1) 創(chuàng)建一個(gè)繼承于CRecordset的類CMyRS,系統(tǒng)會自動(dòng)提示你選擇數(shù)據(jù)源,并會自動(dòng)關(guān)聯(lián)數(shù)據(jù)表中各項(xiàng)屬性
(2)在需要查詢數(shù)據(jù)庫的地方先construct一個(gè)CMyRS類的實(shí)例myRS,然后調(diào)用myRS.Open()打開記錄集
(3)移動(dòng)數(shù)據(jù)集指針到需要的地方,從CMyRS中系統(tǒng)自動(dòng)關(guān)聯(lián)好的數(shù)據(jù)表各項(xiàng)屬性的變量中讀取相應(yīng)的值
3。需要注意的是:
(1)調(diào)用myRS.Open()前
一定要先construct CMyRS類的對象,構(gòu)造的時(shí)候可以事先創(chuàng)建一個(gè)CDatabase類的對象,然后將該對象的指針傳給構(gòu)CMyRS的造函數(shù),如:CMyRs myRS(&db); 如果為空的話,當(dāng)調(diào)用myRS.Open()時(shí),系統(tǒng)會自動(dòng)為myRS構(gòu)造一個(gè)CDatabase的對象,并且調(diào)用CMyRS類的Default SQL 和CONNECT字符串來連接數(shù)據(jù)源。所以不用擔(dān)心沒有連接數(shù)據(jù)庫數(shù)據(jù)源。
(2)如果事先創(chuàng)建了一個(gè)CDatabase的對象db,則可以先用自己的conn連接字和sql連接字Open它,然后傳給CMyRS的構(gòu)造函數(shù),構(gòu)造的myRS再不用任何參數(shù)Open()就可以了
可能有些地方理解的還是不對,希望隨著以后多接觸再來修改!
posted on 2005-11-24 16:47
halCode 閱讀(447)
評論(1) 編輯 收藏 引用 所屬分類:
VC/MFC