數(shù)據(jù)庫(kù)訪問(wèn)課件_第1頁(yè)
數(shù)據(jù)庫(kù)訪問(wèn)課件_第2頁(yè)
數(shù)據(jù)庫(kù)訪問(wèn)課件_第3頁(yè)
數(shù)據(jù)庫(kù)訪問(wèn)課件_第4頁(yè)
數(shù)據(jù)庫(kù)訪問(wèn)課件_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第9章數(shù)據(jù)庫(kù)訪問(wèn)VisualBasic程序設(shè)計(jì)教程本章內(nèi)容安排關(guān)系數(shù)據(jù)庫(kù)及其應(yīng)用關(guān)系數(shù)據(jù)庫(kù)概述SQL及其應(yīng)用利用ADO控件訪問(wèn)數(shù)據(jù)庫(kù)利用ADO對(duì)象訪問(wèn)數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)概述關(guān)系數(shù)據(jù)庫(kù)數(shù)據(jù)表字段記錄主鍵數(shù)據(jù)庫(kù)操作投影合并SQL及其應(yīng)用SQL是通用的數(shù)據(jù)庫(kù)語(yǔ)言,幾乎為所有的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)所支持。SQL可用來(lái)編寫(xiě)查詢或操作數(shù)據(jù)庫(kù)的命令,在數(shù)據(jù)庫(kù)管理系統(tǒng)的驅(qū)動(dòng)下實(shí)施對(duì)數(shù)據(jù)庫(kù)的一切訪問(wèn)(創(chuàng)建、維護(hù)和查詢)。SQL及其應(yīng)用對(duì)數(shù)據(jù)庫(kù)的操作插入記錄刪除記錄修改記錄查詢數(shù)據(jù)SQL及其應(yīng)用對(duì)數(shù)據(jù)庫(kù)的操作插入記錄

insertintoEmployees (工號(hào),姓名,所屬部門(mén),工資) values(1201,'吳昊','市場(chǎng)部',3500)刪除記錄修改記錄查詢數(shù)據(jù)SQL及其應(yīng)用對(duì)數(shù)據(jù)庫(kù)的操作插入記錄刪除記錄

deletefromEmployees where工號(hào)=1201修改記錄查詢數(shù)據(jù)SQL及其應(yīng)用對(duì)數(shù)據(jù)庫(kù)的操作插入記錄刪除記錄修改記錄

updateEmployees set工資=工資*1.2 where工號(hào)=1201查詢數(shù)據(jù)SQL及其應(yīng)用對(duì)數(shù)據(jù)庫(kù)的操作插入記錄刪除記錄修改記錄查詢數(shù)據(jù)

select姓名,所屬部門(mén),工資 fromEmployees where所屬部門(mén)='市場(chǎng)部'本章內(nèi)容安排關(guān)系數(shù)據(jù)庫(kù)及其應(yīng)用利用ADO控件訪問(wèn)數(shù)據(jù)庫(kù)ADO控件DataGrid控件ADO控件的操作DataGrid控件的操作利用ADO對(duì)象訪問(wèn)數(shù)據(jù)庫(kù)ADO技術(shù)簡(jiǎn)介在VisualBasic程序中,并不能直接使用SQL命令。ADO技術(shù)是訪問(wèn)數(shù)據(jù)庫(kù)的最佳途徑。Microsoft既提供了ADO控件、也提供了沒(méi)有界面的ADO對(duì)象用于創(chuàng)建數(shù)據(jù)庫(kù)應(yīng)用程序。ADO控件和DataGrid控件第一個(gè)任務(wù):把數(shù)據(jù)庫(kù)中的數(shù)據(jù)表按照表格的形式顯示在Form窗體中。完成這個(gè)任務(wù)既要使用ADO控件,又要使用DataGrid控件。ADO控件是提供數(shù)據(jù)的數(shù)據(jù)源控件。它從數(shù)據(jù)庫(kù)中查詢并返回有關(guān)數(shù)據(jù)(稱為記錄集)。DataGrid控件是利用數(shù)據(jù)的綁定控件,它能使數(shù)據(jù)按表格的形式顯示出來(lái)。ADO控件和DataGrid控件向工具箱添加ADO控件和DataGrid控件從【工程】菜單里選擇【組件…】,顯示【組件對(duì)話框】;在這個(gè)對(duì)話框中選擇MicrosoftADODataControl6.0選項(xiàng);再選擇MicrosoftDataGridControl6.0選項(xiàng);最后,關(guān)閉這個(gè)對(duì)話框,ADO數(shù)據(jù)控件和DataGrid綁定控件即進(jìn)入工具箱中。ADO控件和DataGrid控件設(shè)置

ADO

數(shù)據(jù)控件,使其成為數(shù)據(jù)源。主要在屬性對(duì)話框中設(shè)置以下屬性:ConnectionString屬性,設(shè)置為提供數(shù)據(jù)庫(kù)信息的連接字符串。RecordSource屬性,設(shè)置為SQL的select命令或存儲(chǔ)過(guò)程名稱。同時(shí)應(yīng)指定命令類型。把

DataGrid

控件綁定到數(shù)據(jù)源

ADO

控件。主要設(shè)置其一個(gè)屬性:DataSource屬性,將其設(shè)定為ADO控件即可。ADO控件的操作主要有以下4種操作:使記錄指針移到第一條記錄;使記錄指針移到上一條記錄;使記錄指針移到下一條記錄;使記錄指針移到最后一條記錄。DataGrid控件的操作PageUp鍵和PageDown鍵:可在記錄集中前后翻頁(yè)。光標(biāo)上、下鍵:可從一條記錄移到另一條記錄。使用窗口右邊的垂直滾動(dòng)條可上下翻看記錄。光標(biāo)左、右鍵:可從一個(gè)字段移到另一個(gè)字段。當(dāng)然也可以用鼠標(biāo)直接點(diǎn)選某個(gè)字段(單元格)。當(dāng)鼠標(biāo)定位在列分界線上并出現(xiàn)伸縮豎線時(shí),按住鼠標(biāo)左鍵,拖動(dòng)伸縮豎線可擴(kuò)大或減小列的寬度。DataGrid控件的主要屬性AllowAddNew:設(shè)為T(mén)rue時(shí),當(dāng)光標(biāo)移到最后時(shí)會(huì)添加一條新記錄。AllowDelete:設(shè)為T(mén)rue時(shí),可按鍵盤(pán)上的Del或Delete鍵刪除當(dāng)前記錄。AllowUpdate:設(shè)為T(mén)rue,則當(dāng)移動(dòng)記錄指針時(shí),對(duì)前條記錄所做的修改將會(huì)被保存。設(shè)為False,可防止修改。DataSource:將其設(shè)置為某個(gè)數(shù)據(jù)源(ADO數(shù)據(jù)控件、或后面要介紹的Recordset對(duì)象),即可按表格的形式顯示其中的數(shù)據(jù)。本章內(nèi)容安排關(guān)系數(shù)據(jù)庫(kù)及其應(yīng)用利用ADO控件訪問(wèn)數(shù)據(jù)庫(kù)利用ADO對(duì)象訪問(wèn)數(shù)據(jù)庫(kù)連接到數(shù)據(jù)庫(kù)操作數(shù)據(jù)庫(kù)利用查詢結(jié)果利用ADO對(duì)象訪問(wèn)數(shù)據(jù)庫(kù)我們需要更靈活地控制對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。對(duì)數(shù)據(jù)庫(kù)的不同訪問(wèn),其實(shí)可以共享一個(gè)數(shù)據(jù)庫(kù)連接,而不需要為每個(gè)查詢都建立一個(gè)數(shù)據(jù)庫(kù)連接。當(dāng)不需要某個(gè)查詢時(shí),相應(yīng)的對(duì)象可以隨時(shí)關(guān)閉并釋放,不會(huì)始終占用著系統(tǒng)資源。實(shí)際開(kāi)發(fā)都要使用ADO對(duì)象。當(dāng)然,使用ADO對(duì)象,意味著編程人員需要編寫(xiě)更多的代碼。利用ADO對(duì)象訪問(wèn)數(shù)據(jù)庫(kù)ADO基本的對(duì)象有三個(gè),代表了訪問(wèn)數(shù)據(jù)庫(kù)的三個(gè)步驟:連接數(shù)據(jù)庫(kù)。由Connection對(duì)象負(fù)責(zé)。訪問(wèn)操作數(shù)據(jù)庫(kù)。由Command對(duì)象負(fù)責(zé)。查詢操作的結(jié)果,由Recordset對(duì)象表示。利用ADO對(duì)象訪問(wèn)數(shù)據(jù)庫(kù)在使用ADO對(duì)象之前,需要在自己的工程中添加對(duì)ADODB對(duì)象庫(kù)的引用,否則,無(wú)法使用任何ADO對(duì)象。方法是:展開(kāi)菜單【工程】【引用】;在引用對(duì)話框中,找到并選擇“MicrosoftActiveXDataObjects2.xLibrary”。連接到數(shù)據(jù)庫(kù)用Connection對(duì)象連接到數(shù)據(jù)庫(kù)。步驟如下:創(chuàng)建Connection對(duì)象設(shè)置ConnectionString屬性調(diào)用Open方法連接到數(shù)據(jù)庫(kù)用Connection對(duì)象連接到數(shù)據(jù)庫(kù)。步驟如下:創(chuàng)建Connection對(duì)象DimconAsADODB.ConnectionSetcon=newADODB.Connection設(shè)置ConnectionString屬性調(diào)用Open方法連接到數(shù)據(jù)庫(kù)用Connection對(duì)象連接到數(shù)據(jù)庫(kù)。步驟如下:創(chuàng)建Connection對(duì)象設(shè)置ConnectionString屬性con.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:\db\Goods.mdb"調(diào)用Open方法連接到數(shù)據(jù)庫(kù)用Connection對(duì)象連接到數(shù)據(jù)庫(kù)。步驟如下:創(chuàng)建Connection對(duì)象設(shè)置ConnectionString屬性con.ConnectionString="Provider=SQLOLEDB; DataSource=(local); InitialCatalog=Northwind; IntegratedSecurity=SSPI"調(diào)用Open方法連接到數(shù)據(jù)庫(kù)用Connection對(duì)象連接到數(shù)據(jù)庫(kù)。步驟如下:創(chuàng)建Connection對(duì)象設(shè)置ConnectionString屬性調(diào)用Open方法con.Open連接到數(shù)據(jù)庫(kù)DimconAsNewADODB.ConnectionPrivateSubForm_Load()OnErrorGoToHandlecon.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:\db\Goods.mdb"con.OpenMsgBox"連接成功"ExitSubHandle:MsgBox"連接失敗"EndSub連接到數(shù)據(jù)庫(kù)當(dāng)此連接不再需要時(shí),可以調(diào)用Close方法將其關(guān)閉,然后釋放。con.Close '關(guān)閉Setcon=Nothing '釋放操作訪問(wèn)數(shù)據(jù)庫(kù)ADO的Command對(duì)象表示對(duì)數(shù)據(jù)庫(kù)的操作命令。通過(guò)Command對(duì)象,既可以進(jìn)行數(shù)據(jù)庫(kù)各種對(duì)象的定義,如建立數(shù)據(jù)表、建立各種約束等,也可以對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行諸如添加、刪除、修改及查詢等操作。操作數(shù)據(jù)庫(kù)一般按以下方式進(jìn)行:創(chuàng)建Command對(duì)象設(shè)置CommandType屬性設(shè)置CommandText屬性調(diào)用Execute方法操作數(shù)據(jù)庫(kù)一般按以下方式進(jìn)行:創(chuàng)建Command對(duì)象DimcomAsNewADODB.CommandSetcom.ActiveConnection=con設(shè)置CommandType屬性設(shè)置CommandText屬性調(diào)用Execute方法操作數(shù)據(jù)庫(kù)一般按以下方式進(jìn)行:創(chuàng)建Command對(duì)象設(shè)置CommandType屬性com.CommandType=AdCmdText設(shè)置CommandText屬性調(diào)用Execute方法操作數(shù)據(jù)庫(kù)一般按以下方式進(jìn)行:創(chuàng)建Command對(duì)象設(shè)置CommandType屬性設(shè)置CommandText屬性com.CommandText="deleteGoodswhere工號(hào)=1201"調(diào)用Execute方法操作數(shù)據(jù)庫(kù)一般按以下方式進(jìn)行:創(chuàng)建Command對(duì)象設(shè)置CommandType屬性設(shè)置CommandText屬性調(diào)用Execute方法com.Execute利用查詢結(jié)果Recordset對(duì)象表示的是從數(shù)據(jù)庫(kù)中查詢的結(jié)果——記錄的集合,并支持對(duì)其中的數(shù)據(jù)進(jìn)行各種操作或處理。使用Recordset對(duì)象的一般方式為:創(chuàng)建對(duì)象調(diào)用Open方法利用查詢結(jié)果Recordset對(duì)象表示的是從數(shù)據(jù)庫(kù)中查詢的結(jié)果——記錄的集合,并支持對(duì)其中的數(shù)據(jù)進(jìn)行各種操作或處理。使用Recordset對(duì)象的一般方式為:創(chuàng)建對(duì)象DimrstAsADODB.Recordsetsetrst=NewADODB.Recordset調(diào)用Open方法Recordset.Openrst.OpenSource,ActiveConnection,CursorType,LockType,OptionsSource可為Command對(duì)象、SQL語(yǔ)句、表名、存儲(chǔ)過(guò)程名。建議使用Command對(duì)象,這樣就不用設(shè)置后面參數(shù)Options。Recordset.Openrst.OpenSource,ActiveConnection,CursorType,LockType,OptionsActiveConnection用于指定所屬的Connection對(duì)象。Recordset.Openrst.OpenSource,ActiveConnection,CursorType,LockType,OptionsCursorType:用于設(shè)置游標(biāo)類型。adOpenForwardOnly:僅向前游標(biāo)。adOpenKeyset:鍵集游標(biāo)。只對(duì)更改敏感。adOpenDynamic :動(dòng)態(tài)游標(biāo)。最敏感。adOpenStatic:靜態(tài)游標(biāo)。不敏感。Recordset.Openrst.OpenSource,ActiveConnection,CursorType,LockType,OptionsLockType:用于設(shè)置鎖定類型。adLockReadOnly:只讀。adLockPessimistic :保守式記錄鎖定。adLockOptimistic 開(kāi)放式記錄鎖定。adLockBatchOptimistic 開(kāi)放式批更新。Recordset.Openrst.OpenSource,ActiveConnection,CursorType,LockType,OptionsOptions:用于指明參數(shù)Source的類別。adCmdText:SQL命令文本adCmdTable:數(shù)據(jù)表名稱adCmdStoredProc:存儲(chǔ)過(guò)程名稱Recordset對(duì)象——移動(dòng)記錄指針包括4個(gè)移動(dòng)方法,分別是:MoveFirst:移到第一條記錄MovePrevious:移到上一條記錄MoveNext:移到下一條記錄MoveLast:移到最后一條記錄Recordset對(duì)象——移動(dòng)記錄指針當(dāng)移動(dòng)記錄指針時(shí),需要隨時(shí)判斷指針的狀態(tài),有以下兩個(gè)屬性:BOF:為T(mén)rue時(shí),表示指針在向前移動(dòng)時(shí),超過(guò)了第一條記錄的位置。EOF:為T(mén)rue時(shí),表示指針在向后移動(dòng)時(shí),超過(guò)了最后一條記錄的位置。Recordset對(duì)象——操作數(shù)據(jù)AddNewDeleteUpdateUpdateBatchFindcriteria,Skip,Direction,startRecordset對(duì)象——操作數(shù)據(jù)AddNew該方法向Recordset對(duì)象中添加一條新記錄,并使新記錄成為當(dāng)前記錄。DeleteUpdateUpdateBatchFindcriteria,Skip,Direction,startRecordset對(duì)象——操作數(shù)據(jù)AddNewDelete該方法會(huì)刪除Recordset對(duì)象中的當(dāng)前記錄。對(duì)于立即更新模式,將在數(shù)據(jù)庫(kù)中立即刪除。UpdateUpdateBatchFindcriteria,Skip,Direction,startRecordset對(duì)象——操作數(shù)據(jù)AddNewDeleteUpdate把Recordset對(duì)象中已有變化的數(shù)據(jù)更新到數(shù)據(jù)庫(kù)中。用于立即更新模式。UpdateBatchFindcriteria,Skip,Direction,startRecordset對(duì)象

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論