




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Adv-VB2005Week12認(rèn)識(shí)資料庫(kù)建立Access2003資料庫(kù)開啟與關(guān)閉資料庫(kù)連接使用Command物件執(zhí)行SQL命令使用DataReader物件讀取資料15-1認(rèn)識(shí)資料庫(kù)資料庫(kù)(database)係指依照一定格式存放在一起的資料記錄檔案資料庫(kù)管理系統(tǒng)(DBMS,databasemanagementsystem)是用來(lái)操作與管理資料庫(kù)的軟體座號(hào)姓名出生年月日通訊地址11小丸子1984/1/1臺(tái)北市羅斯福路三段9號(hào)9樓12花輪1985/5/6臺(tái)北市師大路20號(hào)3樓13藤木1984/12/20臺(tái)北市溫州街42巷7號(hào)之114小玉1985/3/17臺(tái)北市龍泉街3巷12弄28號(hào)15丸尾1984/8/11臺(tái)北市金門街100號(hào)5樓16永澤1984/10/22臺(tái)北市和平東路二段85巷109號(hào)15樓之3座號(hào)國(guó)文分?jǐn)?shù)118012951388149815931681座號(hào)數(shù)學(xué)分?jǐn)?shù)1175121001390149215971692座號(hào)自然分?jǐn)?shù)1182129713851488151001694座號(hào)姓名總分通訊地址11小丸子237臺(tái)北市羅斯福路三段9號(hào)9樓12花輪292臺(tái)北市師大路20號(hào)3樓13藤木263臺(tái)北市溫州街42巷7號(hào)之114小玉278臺(tái)北市龍泉街3巷12弄28號(hào)15丸尾290臺(tái)北市金門街100號(hào)5樓16永澤267臺(tái)北市和平東路二段85巷109號(hào)15樓之3ADO.NET資料庫(kù)程式設(shè)計(jì)資料庫(kù)觀念
在上一章介紹過檔案系統(tǒng)之後,這一章要介紹的是另一個(gè)更重要的機(jī)制--『資料庫(kù)系統(tǒng)』。資料庫(kù)也是一個(gè)檔案,但是和檔案系統(tǒng)有所不同的是,資料庫(kù)提供了結(jié)構(gòu)化的資料儲(chǔ)存和檢索方式,讓查詢和存取更有效率。檔案系統(tǒng)可以幫助我們將檔案儲(chǔ)存在硬碟(或是其他的媒介)當(dāng)中,待需要的時(shí)候再載入電腦的記憶體當(dāng)中。但是儲(chǔ)存於硬碟上的檔案是透過目錄與檔名的方式來(lái)存放,檔案的內(nèi)容則是各種文字或是BinaryCode,與現(xiàn)實(shí)生活當(dāng)中的資料結(jié)構(gòu)差異太大,往往並不容易分類搜尋或是檢索。而資料庫(kù)就是在這個(gè)狀況下誕生的機(jī)制,它可以幫助使用者(或是程式設(shè)計(jì)師)以更具有結(jié)構(gòu)的方式來(lái)儲(chǔ)存資料。ADO.NET資料庫(kù)程式設(shè)計(jì)資料庫(kù)觀念這個(gè)畫面是某公司的訂單輸入畫面,您會(huì)發(fā)現(xiàn)它包含了相當(dāng)多不同類型的資料,例如客戶的資料(包含送貨地址…)、公司內(nèi)的業(yè)務(wù)人員、要訂購(gòu)的產(chǎn)品、數(shù)量與金額…等。如果這些資料都透過檔案系統(tǒng)來(lái)儲(chǔ)存,當(dāng)我們要利用電腦進(jìn)行分類(例如找到所有1999年訂購(gòu)『白起司』的客戶)恐怕是相當(dāng)困難。因此就有了Access、SQLServer、Oracle等『資料庫(kù)系統(tǒng)』來(lái)幫助我們,對(duì)這些複雜的資料進(jìn)行處理。
ADO.NET資料庫(kù)程式設(shè)計(jì)資料庫(kù)觀念我們可以將複雜的單據(jù),化作單純的表格形式(我們稱之為資料表),將同一類的資料儲(chǔ)存在一起方便管理。例如,底下是幾個(gè)不同的資料表(分別是客戶資料、產(chǎn)品資料、以及訂單資料):ADO.NET資料庫(kù)程式設(shè)計(jì)資料庫(kù)觀念一個(gè)資料表當(dāng)中,會(huì)有許多的記錄:資料錄具有多的欄位,我們稱之為資料欄(DataColumn)每一筆這樣的記錄我們稱為資料錄(DataRow)因此,一筆資料錄當(dāng)中,有多個(gè)欄位,每個(gè)欄位就可以儲(chǔ)存不同的資料,有點(diǎn)類似Excel的sheet,讓使用者可以輕鬆的將資料儲(chǔ)存到資料庫(kù)中。資料存入資料庫(kù)之後,我們就可以針對(duì)特定的欄位排序或是以特定的條件搜尋。例如,我們可以透過簡(jiǎn)單的指令碼找出上圖這個(gè)『訂貨主檔』資料表當(dāng)中,客戶名稱為『東遠(yuǎn)銀行』的所有訂單資料,並且可以依照訂購(gòu)的日期先後順序來(lái)排序顯示出來(lái)。ADO.NET資料庫(kù)程式設(shè)計(jì)資料庫(kù)觀念我們還可以將兩三個(gè)不同的資料表加以關(guān)聯(lián),利用多重條件找出符合的資料:資料庫(kù)不僅可以支援單一條件單一資料表的搜尋,還可以讓資料表之間交叉比對(duì),例如:找出『公司地址在臺(tái)北市』且『今年訂單總運(yùn)費(fèi)超過5000元』的客戶名單。(這些客戶可能我們要換一家更便宜的市區(qū)快遞公司來(lái)送貨)ADO.NET資料庫(kù)程式設(shè)計(jì)資料庫(kù)對(duì)VB.NET開發(fā)人員的意義我們可以透過資料庫(kù)現(xiàn)有的這些功能,幫助我們?cè)O(shè)計(jì)的資訊系統(tǒng)來(lái)存取資料。資料庫(kù)本身均包含搜尋、排序、以及管理功能,絕大部分的資料庫(kù)也支援標(biāo)準(zhǔn)的SQL語(yǔ)言,讓開發(fā)人員或是使用者可以透過簡(jiǎn)單的SQL語(yǔ)法來(lái)操作資料庫(kù)中的資料,對(duì)資料進(jìn)行搜尋、新增、修改、刪除等功能。因此,VisualBasic2005的開發(fā)人員,在撰寫資料庫(kù)應(yīng)用程式前,可以在資料庫(kù)中先建立資料表,待資料表建立完成之後,再透過程式來(lái)新增或是編輯資料。在程式運(yùn)作的過程當(dāng)中,資料的儲(chǔ)存和搜尋,都是透過資料庫(kù)來(lái)完成的,而VisualBasic2005所開發(fā)的程式,則負(fù)責(zé)提供使用者操作介面,讓程式的使用者可以在畫面上輸入資料,進(jìn)行資料的驗(yàn)證,最後透過程式碼將資料儲(chǔ)存到資料庫(kù)中。ADO.NET資料庫(kù)程式設(shè)計(jì)資料庫(kù)對(duì)VB.NET開發(fā)人員的意義畫面上的使用者介面您應(yīng)該相當(dāng)熟悉,多半是TextBox與Label,再加上一個(gè)ToolStrip(工具列)就完成了。但是程式的核心絕對(duì)不只是畫面上的操作方式,例如搜尋、上下筆的切換、或是修改儲(chǔ)存等等,重點(diǎn)是如何把使用者輸入的資料儲(chǔ)存到資料庫(kù)中,以及如何讀取出來(lái)。ADO.NET資料庫(kù)程式設(shè)計(jì)資料庫(kù)對(duì)VB.NET開發(fā)人員的意義當(dāng)我們利用VS2005建立出上頁(yè)的輸入畫面,並且透過程式碼讓使用者輸入的資料存入資料庫(kù)之後,您可以檢視資料庫(kù)中的內(nèi)容,將會(huì)呈現(xiàn)出下面這樣的樣式:15-2建立Access2002/2003資料庫(kù)一、建立空白資料庫(kù)
二、定義資料表的欄位名稱與資料類型
三、輸入資料表的資料在「擇友俱樂部」資料表按一下滑鼠右鍵,然後選擇[開啟]。依照下圖所示輸入20筆記錄,輸入完畢後點(diǎn)取[關(guān)閉]按鈕。臺(tái)北市龍泉街3巷12弄28號(hào)在工具箱的[資料]索引標(biāo)籤找到[OleDbCommand]物件,然後按兩下。臺(tái)北市和平東路二段85巷109號(hào)15樓之3SQLServer資料提供者15-3建立SQLServer2005資料庫(kù)CommandText一個(gè)資料表當(dāng)中,會(huì)有許多的記錄:ExecuteNonQuery()在工具箱的[資料]索引標(biāo)籤找到[OleDbCommand]物件,然後按兩下。OLEDB資料提供者GetBoolean(ordinal)DataReader物件的屬性我們還可以將兩三個(gè)不同的資料表加以關(guān)聯(lián),利用多重條件找出符合的資料:15-3建立SQLServer2005資料庫(kù)按[開始]\[程式集]\[MicrosoftSQLServer2005]\[SQLServerManagementStudio],啟動(dòng)SQLServerManagementStudio。
此時(shí),MicrosoftSQLServerManagementStudio會(huì)詢問您是否要儲(chǔ)存資料表,請(qǐng)按[是]。
15-4Windows應(yīng)用程式存取資料庫(kù)的方式[OleDbConnection]物件的圖示會(huì)出現(xiàn)在表單下方的匣中Connection的方法DataAdapter建立OLEDB相容資料庫(kù)(例如Access)資料連接的方式如下:臺(tái)北市龍泉街3巷12弄28號(hào)CommandTimeout二、定義資料表的欄位名稱與資料類型畫面上的使用者介面您應(yīng)該相當(dāng)熟悉,多半是TextBox與Label,再加上一個(gè)ToolStrip(工具列)就完成了。[OleDbCommand]物件的圖示會(huì)出現(xiàn)在表單下方的匣中。Command的屬性將[Connection]屬性設(shè)定為第15-5-1節(jié)所建立的Connection物件「objConn」ConnectionTimeoutDataReader物件的屬性[OleDbCommand]物件的圖示會(huì)出現(xiàn)在表單下方的匣中。因此,VisualBasic2005的開發(fā)人員,在撰寫資料庫(kù)應(yīng)用程式前,可以在資料庫(kù)中先建立資料表,待資料表建立完成之後,再透過程式來(lái)新增或是編輯資料。按[開始]\[程式集]\[MicrosoftSQLServer2005]\[SQLServerManagementStudio],啟動(dòng)SQLServerManagementStudio。SQLServer資料提供者OLEDB資料提供者ODBC資料提供者Oracle資料提供者15-4-1ADO.NET的架構(gòu)15-4-2.NETFramework資料提供者ConnectionCommandDataReaderDataAdapter15-4-3資料集15-5使用DataReader物件存取資料庫(kù)連線模式(ConnectedMode)離線模式(DisconnectedMode)使用DataReader物件讀取資料庫(kù)的步驟如下建立資料連接執(zhí)行SQL命令並傳回結(jié)果讀取執(zhí)行結(jié)果15-5-1開啟與關(guān)閉資料庫(kù)連接Step1在VisualStudio2005工具箱的[資料]索引標(biāo)籤加入物件:關(guān)閉目前開啟的專案,然後新增一個(gè)範(fàn)本為[Windows應(yīng)用程式]、名稱為MyProj-DataAccess的專案。將指標(biāo)移至工具箱,在[資料]索引標(biāo)籤按一下滑鼠右鍵,然後從快顯功能表中選取[選擇項(xiàng)目]。在[.NETFramework元件]標(biāo)籤頁(yè)中核取[OleDbConnection]、[OleDbCommand]、[OleDbCommandBuilder]、[OleDbDataAdapter]、[DataView]等五個(gè)項(xiàng)目,然後按[確定],這些物件就會(huì)出現(xiàn)在工具箱的[資料]索引標(biāo)籤。Step2建立OLEDB相容資料庫(kù)(例如Access)資料連接的方式如下:在工具箱的[資料]索引標(biāo)籤找到[OleDbConnection]物件,然後按兩下。[OleDbConnection]物件的圖示會(huì)出現(xiàn)在表單下方的匣中
Connection的屬性ConnectionTimeoutDataSourcePacketSizeProviderStateConnection的方法BeginTransaction()Close()Open()
SeetheTextBoox15-5-2使用Command物件執(zhí)行SQL命令在工具箱的[資料]索引標(biāo)籤找到[OleDbCommand]物件,然後按兩下。[OleDbCommand]物件的圖示會(huì)出現(xiàn)在表單下方的匣中。Command的屬性Connection
ParametersCommandTimeoutCommandTypeCommandTextTransaction
SeetheTextBooxCommand的方法Cancel()Clone()ExecuteNonQuery()ExecuteReader()ExecuteScalar()SeetheTextBoox請(qǐng)您依照如下步驟設(shè)定Command物件的屬性:將[Name]屬性設(shè)定為objCmd將[CommandType]屬性設(shè)定為[Text]
將[Connection]屬性設(shè)定為第15-5-1節(jié)所建立的Connection物件「objConn」點(diǎn)按[CommandText]屬性右方的按鈕
15-5-3使用DataReader物件讀取資料DimobjReaderAsOleDbDataReader=objCmd.ExecuteReader()DimobjReaderAsSqlDataReader=objCmd.ExecuteReader()
DataReader物件的屬性FieldCountHasRowsIsClosedItem(name|ord
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年盤園兒鋼項(xiàng)目建議書
- 2025年直播化妝品項(xiàng)目建設(shè)總綱及方案
- 2025年城市市容管理服務(wù)項(xiàng)目可行性建設(shè)方案
- 2025年高效節(jié)能電動(dòng)機(jī)項(xiàng)目建議書
- 陜西財(cái)經(jīng)職業(yè)技術(shù)學(xué)院《數(shù)學(xué)模型與實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 陜西青年職業(yè)學(xué)院《人工神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)》2023-2024學(xué)年第二學(xué)期期末試卷
- 隨州職業(yè)技術(shù)學(xué)院《幼兒園體育游戲》2023-2024學(xué)年第二學(xué)期期末試卷
- 集寧師范學(xué)院《俄語(yǔ)寫作》2023-2024學(xué)年第二學(xué)期期末試卷
- 青島市市北區(qū)2024-2025學(xué)年數(shù)學(xué)三下期末考試模擬試題含解析
- 青島求實(shí)職業(yè)技術(shù)學(xué)院《JavaEE企業(yè)級(jí)應(yīng)用開發(fā)課程設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 瀝青路面施工-熱拌瀝青混合料路面施工
- 垃圾處理監(jiān)理大綱
- 管制無(wú)線電陸空通話(2022年版)學(xué)習(xí)通超星課后章節(jié)答案期末考試題庫(kù)2023年
- 冷縮式電力電纜終端頭制作流程課件
- 小學(xué)生作文紙模板
- 銀行員工以案促改心得體會(huì)三篇
- 藥學(xué)畢業(yè)論文5000字藥學(xué)論文的5000字集合16篇
- 初中歷史(六三學(xué)制)2021年北京市中考?xì)v史試題(原卷版)
- 超粘磨耗層施工方案
- 急診就診流程圖
- 閻立忠老師-產(chǎn)業(yè)園區(qū)規(guī)劃招商運(yùn)營(yíng)實(shí)戰(zhàn)
評(píng)論
0/150
提交評(píng)論