資源描述:
《第9講訪問(wèn)數(shù)據(jù)庫(kù)ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、主要內(nèi)容數(shù)據(jù)庫(kù)訪問(wèn)概述ODBC數(shù)據(jù)源ADO對(duì)象(基于OLEDB標(biāo)準(zhǔn))數(shù)據(jù)控件與數(shù)據(jù)綁定的控件數(shù)據(jù)綁定的對(duì)話框第9講訪問(wèn)數(shù)據(jù)庫(kù)19.1數(shù)據(jù)庫(kù)訪問(wèn)概述主要方法開(kāi)放數(shù)據(jù)庫(kù)連接(ODBCOpenDatabaseConnectivity)數(shù)據(jù)訪問(wèn)對(duì)象(DAODataAccessObject)ActiveX數(shù)據(jù)對(duì)象(ADOActiveXDataObject)2ODBCODBC管理器在Windows控制面板中,包含連接數(shù)據(jù)源所需信息,即為每套連接建立(DataSourceNames)DSNODBC驅(qū)動(dòng)器ODBC驅(qū)動(dòng)程序,包含需處理的數(shù)據(jù)源信息
2、適用于訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)編程只需知道DSN和SQL應(yīng)用程序SQL語(yǔ)句ODBC管理器DSNODBC數(shù)據(jù)源ODBCAPIODBCAPI3ODBC對(duì)數(shù)據(jù)庫(kù)的操作不依賴任何DBMS每個(gè)DBMS提供自己的ODBC驅(qū)動(dòng)程序能以統(tǒng)一的方式處理各種數(shù)據(jù)庫(kù)要訪問(wèn)一個(gè)數(shù)據(jù)庫(kù),需要先用“ODBC數(shù)據(jù)源管理器”把它注冊(cè)為一個(gè)ODBC數(shù)據(jù)源VC++6.0可以安裝的ODBC驅(qū)動(dòng)程序:SQLServerAccessFoxproOracleExcel其他4DAO是第一個(gè)面向?qū)ο蟮慕涌谧畛跤糜贏ccess等產(chǎn)品中依賴于用Access自動(dòng)獲得的MicroSoftJe
3、t數(shù)據(jù)庫(kù)引擎在這種方案中Access運(yùn)行良好,但在SQLServer,Oracle網(wǎng)絡(luò)環(huán)境中運(yùn)行不好有被ADO取代的趨勢(shì)5ADO是一種特殊的OLEDB客戶程序OLE數(shù)據(jù)庫(kù)(OLEDataDase)OLE——對(duì)象連接與嵌入ObjectLinkingandEmbeddingOLEDB提供統(tǒng)一的數(shù)據(jù)訪問(wèn)接口除了各種關(guān)系數(shù)據(jù)庫(kù)外,還包括:郵件數(shù)據(jù)、Web上的文本或圖形、目錄服務(wù)、……被多種語(yǔ)言支持(VC++、VB、Java等)支持客戶/服務(wù)器模式和基于Web的數(shù)據(jù)操作6ADOSQL語(yǔ)句,ADO對(duì)象庫(kù)DSNODBC數(shù)據(jù)源ADOOLEDBO
4、DBC管理器JetSQLServerExchangeOracle7ADO模型中的對(duì)象Connection對(duì)象:處理與數(shù)據(jù)源之間的連接,并使用事務(wù)機(jī)制,提供初始化Command對(duì)象:處理傳遞給數(shù)據(jù)源的命令RecordSet對(duì)象:處理SQL查詢返回的記錄數(shù)據(jù),允許用戶編輯,添加和刪除數(shù)據(jù)Field對(duì)象:處理記錄集中的列信息Parameter對(duì)象:對(duì)傳遞給數(shù)據(jù)源的命令賦參數(shù)值Property對(duì)象:操作在ADO中使用的其他對(duì)象的詳細(xì)屬性Error對(duì)象:獲得連接對(duì)象所發(fā)生的錯(cuò)誤信息8ADO模型中的集合Error集合:任何包含ADO對(duì)象的操
5、作都可能產(chǎn)生提供者錯(cuò)誤,當(dāng)錯(cuò)誤發(fā)生時(shí),錯(cuò)誤對(duì)象被放在錯(cuò)誤集合中,每個(gè)錯(cuò)誤對(duì)象代表一個(gè)提供者錯(cuò)誤Parameter集合:Command對(duì)象包含了Parameter對(duì)象集合,參數(shù)集合包含了應(yīng)用于Command對(duì)象的所有參數(shù)對(duì)象Field集合:RecordSet對(duì)象包含F(xiàn)ield對(duì)象的集合,F(xiàn)ield對(duì)象集合包含了Field對(duì)象Properties集合:包含了個(gè)對(duì)象的屬性99.2ODBC操作MFC中與ODBC有關(guān)的主要類CDatabase(數(shù)據(jù)庫(kù)類)提供對(duì)數(shù)據(jù)源的連接等操作CRecordSet(記錄集類)代表從數(shù)據(jù)源選擇的一組記錄(記
6、錄集)對(duì)記錄集中記錄進(jìn)行滾動(dòng)、添加、修改、刪除等操作CRecordView(記錄集視圖類)是CFormView的派生類,用于派生視圖窗口提供一個(gè)表單視圖與某個(gè)記錄集直接關(guān)聯(lián)可用DDX在記錄集與變淡視圖的控件之間傳遞數(shù)據(jù)10創(chuàng)建ODBC數(shù)據(jù)源創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)在Windows中創(chuàng)建數(shù)據(jù)源“控制面板”、“管理工具”、“數(shù)據(jù)源(ODBC)”在“用戶DSN”卡中單擊“添加”選“MicrosoftAccessDriver(*.mdb)”在打開(kāi)的對(duì)話框中輸入數(shù)據(jù)源名稱,單擊“選擇”在打開(kāi)的對(duì)話框中選擇數(shù)據(jù)庫(kù),單擊“確定”,則該數(shù)據(jù)源顯示在“用戶
7、數(shù)據(jù)源”列表中11在MFC中選擇數(shù)據(jù)源創(chuàng)建一個(gè)單文檔應(yīng)用程序(ODBCStudent)在第2步選“數(shù)據(jù)庫(kù)查看使用文件支持”視圖類將從CRecordView派生,全面支持文檔操作和數(shù)據(jù)庫(kù)操作單擊“DataSource”選“ODBC”,并選已經(jīng)建立的數(shù)據(jù)源在“Recordsettype”中“Snapshot”(快照),單擊“OK”選擇數(shù)據(jù)表(例如students),單擊“OK”,回到第2步界面繼續(xù)后面的步驟12生成的程序中添加的內(nèi)容在生成的程序中添加了一個(gè)ODBCStudentSet類它與students表進(jìn)行數(shù)據(jù)綁定負(fù)責(zé)數(shù)據(jù)表的操
8、作有與students表對(duì)應(yīng)的數(shù)據(jù)成員視圖類由CRecordView派生CRecordView由CFromView派生可以直接使用控件視圖類中添加了一個(gè)CODBCStudentSet類指針:m_pSet指向文檔類的CODBCStudentSet類對(duì)象m_oDBC