版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第11章 數(shù)據(jù)庫編程,教學(xué)提示:在這一章中,主要向讀者介紹數(shù)據(jù)庫的基本概念、數(shù)據(jù)庫編程的常用技術(shù)以及結(jié)合數(shù)據(jù)庫操作的實(shí)例,使讀者能在Visual C++ .NET開發(fā)環(huán)境下掌握對數(shù)據(jù)庫操作的方法。本章將重點(diǎn)介紹數(shù)據(jù)庫的訪問技術(shù),如ODBC技術(shù)、ADO技術(shù),還介紹了如何配置數(shù)據(jù)源等。學(xué)習(xí)完這些內(nèi)容后,相信讀者對Visual C++ .NET環(huán)境下的數(shù)據(jù)庫編程將會(huì)有一個(gè)比較全面的了解。,教學(xué)目標(biāo):掌握數(shù)據(jù)庫的基本概念;掌握數(shù)據(jù)庫編程技術(shù)的
2、使用;掌握注冊數(shù)據(jù)源的方法;通過上機(jī)實(shí)踐,初步掌握上述內(nèi)容的靈活運(yùn)用。,11.1 數(shù)據(jù)庫基本概念,11.1.1 數(shù)據(jù)庫、DBMS和SQL概念11.1.2 數(shù)據(jù)庫的幾種訪問技術(shù),,11.1.1 數(shù)據(jù)庫、DBMS和SQL概念,數(shù)據(jù)庫是數(shù)據(jù)的集合,它由一個(gè)或多個(gè)表組成。每一個(gè)表中都存儲(chǔ)了對一類對象的數(shù)據(jù)描述,表11.1就是一個(gè)典型的表。表的每一列描述了對象的一個(gè)屬性,如ID、NAME等,而表的每一行則是對一個(gè)對象的具體描述。一般將
3、表中的一行稱作記錄(record)或行(row),將表的每一列稱作字段(field)或列(column)。數(shù)據(jù)庫通常還包括一些附加結(jié)構(gòu)用來維護(hù)數(shù)據(jù)?,F(xiàn)在普遍使用的一種數(shù)據(jù)庫就是關(guān)系數(shù)據(jù)庫。在關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)的基本單位是關(guān)系,關(guān)系就是一張二維表,數(shù)據(jù)按行列有規(guī)則的排列、組織。,返回,表11.1 表的例子,返回,11.1.2 數(shù)據(jù)庫的幾種訪問技術(shù),Visual C++ .NET提供了多種訪問數(shù)據(jù)庫技術(shù),如下所示:●ODBC (Ope
4、n DataBase Connectivity)● MFC ODBC(Microsoft Foundation Classes ODBC)● DAO (Data Access Object)● OLE DB(Object Link and Embedding DataBase)● ADO、ADO .NET (ActiveX Data Object),返回,11.2 ODBC編程技術(shù)的使用,11.2.1 MFC的主要ODBC類
5、概述11.2.2 CDatabase類的使用11.2.3 CRecordset類的使用11.2.4 CRecordView類的使用,11.2.1 MFC的主要ODBC類概述,因?yàn)镃Archive是基于文件的,所以在創(chuàng)建一個(gè)CArchive對象之前必須要打開一個(gè)文件,CArchive構(gòu)造函數(shù)的第一個(gè)參數(shù)就是文件指針,其原型如下:CArchive(CFile* pFile, UINT nMode, int nBufSize=
6、4096, void* lpBuf=NULL);,返回,11.2.2 CDatabase類的使用,函數(shù)CArchive::Close()用來關(guān)閉CArchive,在關(guān)閉之前要把緩沖區(qū)中的所有數(shù)據(jù)存入文件,關(guān)閉之后中斷CArchive對象與文件的聯(lián)系。當(dāng)關(guān)閉后,不能用它進(jìn)行任何讀寫操作。必須先關(guān)閉CArchive對象,再關(guān)閉與之相聯(lián)系的文件,否則會(huì)出錯(cuò);換言之,在關(guān)閉一個(gè)文件之前必須關(guān)閉與之相連的所有CArchive對象。,返回,11.
7、2.3 CRecordset類的使用,CRecordset類代表一個(gè)記錄集。該類是MFC的ODBC類中最重要、功能最強(qiáng)大的類。1. 動(dòng)態(tài)集、快照、光標(biāo)和光標(biāo)庫2. 域數(shù)據(jù)成員與數(shù)據(jù)交換3. 記錄集的建立4. Requery成員函數(shù)5. 記錄的過濾和排序6. 滾動(dòng)記錄7. 修改記錄8. 添加記錄9. 刪除記錄,返回,1. 動(dòng)態(tài)集、快照、光標(biāo)和光標(biāo)庫,在多任務(wù)操作系統(tǒng)或網(wǎng)絡(luò)環(huán)境下,多個(gè)用戶可以共享同一
8、個(gè)數(shù)據(jù)源。共享數(shù)據(jù)的一個(gè)主要問題是如何協(xié)調(diào)各個(gè)用戶對數(shù)據(jù)源的修改。記錄集主要分為快照(Snapshot)和動(dòng)態(tài)集(Dynaset)兩種,CRecordset類對這兩者都支持。這兩種記錄集的不同表現(xiàn)在它們對別的應(yīng)用改變數(shù)據(jù)源記錄采取了不同的處理方法。 快照型記錄集提供了對數(shù)據(jù)的靜態(tài)視圖。快照是個(gè)很形象的術(shù)語,就好象對數(shù)據(jù)源的某些記錄照了一張照片一樣。 動(dòng)態(tài)集提供了數(shù)據(jù)的動(dòng)態(tài)視圖,當(dāng)別的用戶修改或刪除了記錄
9、集中的記錄時(shí),會(huì)在動(dòng)態(tài)集中反映出來,當(dāng)滾動(dòng)到修改過的記錄時(shí),對其所作的修改會(huì)立即反映到動(dòng)態(tài)集中。 光標(biāo)庫(Cursor Library)是處于ODBC驅(qū)動(dòng)程序管理器和驅(qū)動(dòng)程序之間的動(dòng)態(tài)鏈接庫(ODBCCR32.DLL),光標(biāo)庫的主要功能是支持快照以及為底層驅(qū)動(dòng)程序提供雙向滾動(dòng)能力。,返回,2. 域數(shù)據(jù)成員與數(shù)據(jù)交換,CRecordset類代表一個(gè)記錄集。用戶一般需要?jiǎng)?chuàng)建一個(gè)CRecordset的派生類,為派生的記錄集類
10、創(chuàng)建一批數(shù)據(jù)成員,這些數(shù)據(jù)成員與記錄的各字段相對應(yīng),被稱為字段數(shù)據(jù)成員或域數(shù)據(jù)成員。域數(shù)據(jù)成員用來保存某條記錄的各個(gè)字段,它們是程序與記錄之間的緩沖區(qū)。域數(shù)據(jù)成員代表當(dāng)前記錄,當(dāng)在記錄集中滾動(dòng)到某一記錄時(shí),框架自動(dòng)地把記錄的各個(gè)字段復(fù)制到記錄集對象的域數(shù)據(jù)成員中。當(dāng)用戶要修改當(dāng)前記錄或增加新記錄時(shí),程序先將各字段的新值放入域數(shù)據(jù)成員中,然后調(diào)用相應(yīng)的CRecordset 成員函數(shù),把域數(shù)據(jù)成員設(shè)置到數(shù)據(jù)源中。,返回,3. 記錄集的建
11、立,要建立記錄集,首先要構(gòu)造一個(gè)CRecordset派生類對象,然后調(diào)用Open成員函數(shù)查詢數(shù)據(jù)源中的記錄并建立記錄集。在Open函數(shù)中,可能會(huì)調(diào)用GetDefaulConnect和 GetDefaultSQL函數(shù)。函數(shù)的聲明為:CRecordset m_RecordSet_Name(CDatabase* pDatabase=NULL);,返回,4. Requery成員函數(shù),建立記錄集后,用戶可以隨時(shí)調(diào)用Requery成員函數(shù)來重新
12、查詢和建立記錄集。Requery有兩個(gè)重要用途:●使記錄集能反映用戶對數(shù)據(jù)源的改變?!癜凑招碌倪^濾或排序方法查詢記錄并重新建立記錄集。在調(diào)用Requery之前,可調(diào)用CanRestart來判斷記錄集是否支持Requery操作。要記住Requery只能在成功調(diào)用Open后調(diào)用,所以程序應(yīng)調(diào)用IsOpen來判斷記錄集是否已建立。函數(shù)聲明為:virtual BOOL Requery ( ); throw ( CDBExceptio
13、n, CmemoryException );返回TRUE表明記錄集建立成功,否則返回FALSE。若函數(shù)內(nèi)部出錯(cuò)則產(chǎn)生異常。,返回,5. 記錄的過濾和排序,CRecordset 類有兩個(gè)公共數(shù)據(jù)成員m_strFilter和m_strSort用來設(shè)置對記錄的過濾和排序。在調(diào)用Open或Requery前,如果在這兩個(gè)數(shù)據(jù)成員中指定了過濾或排序,那么Open和Requery將按這兩個(gè)數(shù)據(jù)成員指定的過濾和排序來查詢數(shù)據(jù)源。,返回,6. 滾動(dòng)
14、記錄,CRecordset提供了幾個(gè)成員函數(shù)用來在記錄集中滾動(dòng),如下所示。當(dāng)用這些函數(shù)滾動(dòng)到一個(gè)新記錄時(shí),框架會(huì)自動(dòng)地把新記錄的內(nèi)容復(fù)制到域數(shù)據(jù)成員中?!駐oid MoveNext( );● void MovePrev( );● void MoveFirst( );● void MoveLast( );● void SetAbsolutePosition ( long nRows);,返回,7. 修改記錄,要修改當(dāng)
15、前記錄,應(yīng)該按下列步驟進(jìn)行:(1) 調(diào)用Edit成員函數(shù)。調(diào)用該函數(shù)后就進(jìn)入了編輯模式,程序可以修改域數(shù)據(jù)成員。 (2) 設(shè)置域數(shù)據(jù)成員的新值。 (3) 調(diào)用Update完成編輯。Update把變化后的記錄寫入數(shù)據(jù)庫并結(jié)束編輯模式。,返回,8. 添加記錄,要向記錄集中添加新的記錄,應(yīng)該按下列步驟進(jìn)行:(1) 調(diào)用AddNew成員函數(shù)。調(diào)用該函數(shù)后就進(jìn)入了添加模式,程序可以把所有的域數(shù)據(jù)成員都設(shè)置成NULL。(2)
16、設(shè)置域數(shù)據(jù)成員。(3) 調(diào)用Update。Update把域數(shù)據(jù)成員中的內(nèi)容作為新記錄寫入數(shù)據(jù)源,從而結(jié)束添加。,返回,9. 刪除記錄,要?jiǎng)h除記錄集的當(dāng)前記錄,應(yīng)該按下面兩步進(jìn)行:(1) 調(diào)用Delete成員函數(shù)。該函數(shù)會(huì)同時(shí)給記錄集和數(shù)據(jù)源中當(dāng)前記錄加上刪除標(biāo)記。注意不要在一個(gè)空記錄集中調(diào)用Delete,否則會(huì)產(chǎn)生一個(gè)異常。(2) 滾動(dòng)到另一個(gè)記錄上以跳過刪除記錄。,返回,11.2.4 CRecordView類的使用,C
17、RecordView(記錄視圖)是CFromView的派生類,它提供了一個(gè)表單視圖來顯示當(dāng)前記錄。一個(gè)典型的記錄視圖如圖11.2所示,用戶可以通過表單視圖顯示當(dāng)前記錄。通過記錄視圖,可以修改、添加和刪除數(shù)據(jù)。用戶一般需要?jiǎng)?chuàng)建一個(gè)CRecordView的派生類并在其對應(yīng)的對話框模板中加入控件。,,圖11.2 記錄視圖,返回,11.3 應(yīng)用數(shù)據(jù)庫,11.3.1 注冊數(shù)據(jù)源11.3.2 創(chuàng)建應(yīng)用程序11.3.3 添加資源和代碼,
18、11.3.1 注冊數(shù)據(jù)源,先建立一個(gè)Access數(shù)據(jù)庫,如圖11.3所示。為了簡便,只包含了一個(gè)表,表名為xs,內(nèi)容也比較簡單,將這個(gè)Access數(shù)據(jù)庫保存為文件student.mdb。,,圖11.3 Access數(shù)據(jù)庫,返回,ODBC應(yīng)用程序不能直接使用數(shù)據(jù)庫,用戶必須為要使用的數(shù)據(jù)庫注冊數(shù)據(jù)源。注冊數(shù)據(jù)源的工作由ODBC管理器完成,該管理器位于Windows控制面板的32位ODBC內(nèi)。下面為Access數(shù)據(jù)庫student.md
19、b注冊數(shù)據(jù)源。(1) 打開控制面板,打開管理工具,雙擊【數(shù)據(jù)源(ODBC)】圖標(biāo),則會(huì)顯示一個(gè)【ODBC數(shù)據(jù)源管理器】,如圖11.4所示。在管理器中選擇【用戶DSN】選項(xiàng)卡,該選項(xiàng)卡只對用戶可見,而且只能在用戶當(dāng)前機(jī)器使用。,,返回,(2) 單擊【添加】按鈕,則會(huì)彈出一個(gè)【創(chuàng)建新數(shù)據(jù)源】對話框。在該對話框中選擇Microsoft Access Driver (*.mdb),然后單擊【完成】按鈕,如圖11.5所示。(3) 接下來
20、會(huì)顯示一個(gè)ODBC Microsoft Access安裝對話框,如圖11.6所示,該對話框用來把數(shù)據(jù)庫與一個(gè)數(shù)據(jù)源名連接起來。在【數(shù)據(jù)源名】文本框中輸入“My database for VC”,然后單擊【選擇…】按鈕,在隨后彈出的對話框中找到并選擇student.mdb。連續(xù)單擊【確定】按鈕后,一個(gè)名為My databaye for VC的新數(shù)據(jù)源就被注冊到了管理器中。,,返回,,圖11.4 ODBC數(shù)據(jù)源管理器,返回,,圖11.5
21、 【創(chuàng)建新數(shù)據(jù)源】對話框,返回,,圖11.6 【ODBC Microsoft Access安裝】對話框,返回,11.3.2 創(chuàng)建應(yīng)用程序,本程序具有瀏覽記錄集和修改記錄這兩個(gè)基本功能。現(xiàn)在開始建立應(yīng)用程序。首先完成程序框架的建立,請按下面幾步進(jìn)行:(1) 啟動(dòng)Visual Studio .NET,指定一名為DBSample的MFC工程。(2) 選擇應(yīng)用程序類型,按如圖11.7所示進(jìn)行設(shè)置。(3) 在左側(cè)選擇【數(shù)據(jù)庫支持】,
22、如圖11.8所示,進(jìn)行數(shù)據(jù)庫的設(shè)置(4) 單擊【數(shù)據(jù)源】按鈕,在彈出的【選擇數(shù)據(jù)源】對話框中選擇【機(jī)器數(shù)據(jù)源】選項(xiàng)卡,并選中My database for VC數(shù)據(jù)源,如圖11.9所示。,返回,(5) 單擊【確定】按鈕,則會(huì)打開一個(gè)【登錄】對話框,如圖11.10所示。如果數(shù)據(jù)庫沒有密碼,直接單擊【確定】按鈕即可。(6) 這時(shí)出現(xiàn)選擇數(shù)據(jù)庫對象對話框,展開表,選擇xs表(圖11.11)。單擊【確定】按鈕退出。(7) 單擊【完
23、成】按鈕,建立工程。這時(shí)提示可能數(shù)據(jù)庫會(huì)有密碼,如圖11.12所示,這里直接確認(rèn),將在下面的介紹中處理這一情況。,返回,,圖11.7 設(shè)置程序類型,返回,,圖11.8 設(shè)置數(shù)據(jù)庫支持,返回,,圖11.9 選擇數(shù)據(jù)源,返回,,圖11.10 【登錄】對話框,返回,,圖11.11 選擇表,返回,,圖11.12 密碼提示,返回,11.3.3 添加資源和代碼,在【資源視圖】對話框中選擇Dialog,雙擊展開(圖11.13),選中IDD
24、_MYSAMPLE_ FORM打開(圖11.14)。按照表11.4所示進(jìn)行配置。,返回,,圖11.13 資源列表,返回,,圖11.14 界面設(shè)計(jì),返回,11.4 DAO編程技術(shù)的使用,11.4.1 如何選擇ODBC與DAO11.4.2 DAO應(yīng)用程序的編寫,,11.4.1 如何選擇ODBC與DAO,由于DAO可以訪問ODBC數(shù)據(jù)源,下面幾條可以作為DAO替代ODBC的理由:●在某些情況下可獲得更好的性能,特別是在訪問Mi
25、crosoft ●Jet(MDB)數(shù)據(jù)庫時(shí)。●與ODBC兼容?!馜AO允許進(jìn)行數(shù)據(jù)有效檢查?!馜AO允許用戶說明表與表之間的關(guān)系。 當(dāng)然,DAO的出現(xiàn)并不意味著ODBC已經(jīng)過時(shí)了。如果用戶的工作必須嚴(yán)格限于ODBC數(shù)據(jù)源,尤其在開發(fā)Client/Server結(jié)構(gòu)的應(yīng)用程序時(shí),用ODBC有較好的性能。,返回,11.4.2 DAO應(yīng)用程序的編寫,1. 編寫MFC DAO應(yīng)用程序的第一步2. 數(shù)據(jù)查看選擇3.
26、 帶有DAO的文檔和視圖4. DBMS選擇,返回,1. 編寫MFC DAO應(yīng)用程序的第一步,若要開始DAO應(yīng)用程序的編寫,必須做出兩項(xiàng)基本決定:●希望應(yīng)用程序內(nèi)如何顯示數(shù)據(jù):按窗體方式、按列表方式、按某些其他方式或不顯示數(shù)據(jù)?!裣M褂煤畏N數(shù)據(jù)庫管理系統(tǒng)(DBMS)。,返回,2. 數(shù)據(jù)查看選擇,MFC對不同的查看選擇提供不同程度的支持:●在窗口中一次顯示一個(gè)記錄。創(chuàng)建一個(gè)CDaoRecordView派生類,并將其連接到基于
27、指定表的CDaoRecordset。這使得●創(chuàng)建簡單的基于窗口的應(yīng)用程序變得非常容易。一次顯示多個(gè)記錄,可以相當(dāng)容易地將CDaoRecordset連接到● CListView或者CTreeView。在單獨(dú)的窗口中或是在拆分窗口的窗格中同時(shí)顯示多個(gè)數(shù)據(jù)視圖。,返回,3. 帶有DAO的文檔和視圖,MFC應(yīng)用程序的最簡單結(jié)構(gòu)是管理MFC文檔對象中的數(shù)據(jù)和管理在視圖對象中單獨(dú)顯示該數(shù)據(jù)。但是,并不只限制于此結(jié)構(gòu)。其他選擇包括:(1)使
28、用視圖對象,但將文擋作為未使用的附加物處理。 (2)將數(shù)據(jù)直接繪制到CFrameWnd派生類的工作區(qū)。 (3)使應(yīng)用程序以對話框?yàn)榛A(chǔ)。,返回,4. DBMS選擇,DAO基于Microsoft Jet數(shù)據(jù)庫引擎。因此,DAO最適合用于Microsoft Jet(MDB)數(shù)據(jù)庫。DAO也支持訪問外部數(shù)據(jù)庫,包括某些可安裝的ISAM數(shù)據(jù)庫(數(shù)據(jù)庫引擎可直接讀取它)和ODBC數(shù)據(jù)源。這意味著可以使用DAO編寫與DBMS無關(guān)的應(yīng)用程序
29、,目標(biāo)是任何Microsoft Jet數(shù)據(jù)庫引擎可直接讀取的數(shù)據(jù)庫,或者用戶有相應(yīng)ODBC驅(qū)動(dòng)程序的數(shù)據(jù)源。,返回,11.5 自動(dòng)注冊DSN和創(chuàng)建表,11.5.1 自動(dòng)注冊DSN11.5.2 用ODBC創(chuàng)建表11.5.3 用DAO創(chuàng)建表,,11.5.1 自動(dòng)注冊DSN,無論是用ODBC還是DAO類,在訪問ODBC數(shù)據(jù)源以前,都必須先注冊DSN。通過調(diào)用函數(shù)SQLConfigDataSource,可以實(shí)現(xiàn)自動(dòng)注冊DSN。當(dāng)然
30、,用DAO可以直接訪問一些常用的數(shù)據(jù)庫,而不必通過ODBC來訪問。,返回,11.5.2 用ODBC創(chuàng)建表,由于ODBC類不支持DDL(數(shù)據(jù)庫定義語言),所以只有通過ODBC API來創(chuàng)建表。程序需要調(diào)用CDatabase::ExecuteSQL來直接執(zhí)行SQL語句。,返回,11.5.3 用DAO創(chuàng)建表,由于DAO類直接支持DDL,所以用DAO類創(chuàng)建表比ODBC容易。DAO的CDaoTableDef類提供了對表結(jié)構(gòu)的定義,該類提供了創(chuàng)
31、建表的成員函數(shù)。,返回,11.6 ADO編程技術(shù)的使用,ADO是Microsoft數(shù)據(jù)庫應(yīng)用程序開發(fā)的接口,對于在Windows上編寫數(shù)據(jù)庫程序的程序員來說,ADO是最常使用的技術(shù)了,通過它可以非常簡單地實(shí)現(xiàn)數(shù)據(jù)庫的連接以及數(shù)據(jù)訪問。它被設(shè)計(jì)用來同新的數(shù)據(jù)訪問層OLE DB Provider一起協(xié)同工作,以提供通用數(shù)據(jù)訪問(Universal Data Access)。ADO向我們提供了一個(gè)高層的對OLE DB的自動(dòng)封裝接口,它簡化了
32、數(shù)據(jù)訪問的過程,增加了數(shù)據(jù)訪問的靈活性。但是由于ADO是一組由微軟提供的COM組件是建立在微軟所提倡的COM體系結(jié)構(gòu)之上,它的所有接口都是自動(dòng)化接口,所以在Visual C++ .NET中使用ADO時(shí),要按照使用COM的方式來調(diào)用。在這里大概介紹一下Visual C++ .NET中如何調(diào)用ADO對數(shù)據(jù)庫進(jìn)行訪問的。,,11.7 上 機(jī) 指 導(dǎo),在本次上機(jī)指導(dǎo)中,將針對前面幾節(jié)中的內(nèi)容進(jìn)行實(shí)際上機(jī)練習(xí)。其主要內(nèi)容包括:使用數(shù)據(jù)庫編程技術(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《visual_c--.net程序設(shè)計(jì)教程與上機(jī)指導(dǎo)》課件
- 《visual c#程序設(shè)計(jì)教程與上機(jī)指導(dǎo)》第6章windows程序設(shè)計(jì)
- 《c--程序設(shè)計(jì)基礎(chǔ)教程與上機(jī)指導(dǎo)》第18課c、c--語言編程格式與技巧
- web程序設(shè)計(jì)_第6章__web數(shù)據(jù)庫程序設(shè)計(jì)
- vb.net程序設(shè)計(jì)教程第11章圖形應(yīng)用程序開發(fā)
- 上機(jī)實(shí)驗(yàn)指導(dǎo) c語言程序設(shè)計(jì)
- visual_c程序設(shè)計(jì)與應(yīng)用教程課后答案
- c++程序設(shè)計(jì)題解與上機(jī)指導(dǎo)習(xí)題程序.
- visual basic 程序設(shè)計(jì)教程
- c++程序設(shè)計(jì)教程與實(shí)驗(yàn)指導(dǎo)
- 《Visual FoxPro數(shù)據(jù)庫程序設(shè)計(jì)》網(wǎng)上課教學(xué)系統(tǒng)設(shè)計(jì)與開發(fā).pdf
- 第4章 《c--程序設(shè)計(jì)教程與實(shí)驗(yàn)指導(dǎo)》-楊國興 類與對象
- 譚浩強(qiáng)c語言程序設(shè)計(jì)教程學(xué)習(xí)筆記第8章
- 譚浩強(qiáng)c語言程序設(shè)計(jì)教程學(xué)習(xí)筆記第8章
- 《數(shù)據(jù)庫程序設(shè)計(jì)》在線測試匯總
- asp與sql網(wǎng)頁數(shù)據(jù)庫程序設(shè)計(jì)
- asp與sql網(wǎng)頁數(shù)據(jù)庫程序設(shè)計(jì)
- c語言程序設(shè)計(jì)教程 (第2版)
- 在visual c使用ado存取數(shù)據(jù)庫
- 外文翻譯---visual c++程序設(shè)計(jì)
評論
0/150
提交評論