VB第11章使用VB開發(fā)SQLServer應(yīng)用程序.ppt_第1頁(yè)
VB第11章使用VB開發(fā)SQLServer應(yīng)用程序.ppt_第2頁(yè)
VB第11章使用VB開發(fā)SQLServer應(yīng)用程序.ppt_第3頁(yè)
VB第11章使用VB開發(fā)SQLServer應(yīng)用程序.ppt_第4頁(yè)
VB第11章使用VB開發(fā)SQLServer應(yīng)用程序.ppt_第5頁(yè)
已閱讀5頁(yè),還剩11頁(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)介

1,第11章 使用VB開發(fā)SQL Server應(yīng)用程序,三步曲開端 用Field對(duì)象操作字段 結(jié)合Recordset對(duì)象使用定位方法 搜索記錄集和表中的數(shù)據(jù) 使用Bookmark屬性記錄在Recordset中的位置,2,第11章 使用VB開發(fā)SQL Server應(yīng)用程序,開發(fā)一個(gè)集于ADO技術(shù)的VB數(shù)據(jù)庫(kù)應(yīng)用程序的 三步曲開端,引用ADO類庫(kù) 利用ADO的Connection對(duì)象連接可用的數(shù)據(jù)源 利用ADO的Recordset對(duì)象返回需要操作的記錄集,3,第11章 使用VB開發(fā)SQL Server應(yīng)用程序,1.中可引用ADO類庫(kù),Microsoft ActiveX Data Objects 2.0 Library Microsoft ActiveX Data Objects 2.1 Library Microsoft ActiveX Data Objects 2.5 Library Microsoft ActiveX Data Objects 2.6 Library,引用ADO類庫(kù),菜單:工程引用,4,第11章 使用VB開發(fā)SQL Server應(yīng)用程序,Connection對(duì)象,2.使用Connection對(duì)象連接可用的數(shù)據(jù)源,定義1個(gè)Connection對(duì)象; Dim cn As New ADODB.Connection 設(shè)置Connection對(duì)象的CursorLocation屬性為“位于客戶端的游標(biāo)”(adUseClient); cn.CursorLocation = adUseClient 定義連接字符串 “ provider=MSDASQL;dsn=bookdb;uid=sa;pwd=;“(ODBC) “driver=SQL SERVER;server=toshiba;uid=sa;pwd=;database=bookdb“(OLE DB) 通過(guò)Connection對(duì)象的Open方法建立數(shù)據(jù)連接; cn.Open “provider=MSDASQL;dsn=bookdb;uid=sa;pwd=;“(ODBC) cn.Open “driver=SQL SERVER;server=toshiba;uid=sa;pwd=;database=bookdb“ (OLE DB),5,第11章 使用VB開發(fā)SQL Server應(yīng)用程序,Recordset對(duì)象,3.使用Recoedset對(duì)象返回需要操作的記錄集(臨時(shí)表),定義1個(gè)Recordset對(duì)象; Dim rs As New ADODB.Recordset 定義檢索語(yǔ)句 可以是: SQL查詢語(yǔ)句:mysql = “select top 1 * from book“ 或 直接是表名: mysql = “book“ 通過(guò)Recordset對(duì)象的Open方法返回記錄集(建立臨時(shí)表); rs.Open mysql, cn 或 rs.Open mysql, cn, adOpenStatic, adLockOptimistic, adCmdTable (分別設(shè)定: CursorType、 LockType和Options參數(shù)),6,第11章 使用VB開發(fā)SQL Server應(yīng)用程序,Close方法,使用Connection和Recordset的Close方法,通過(guò)使用Connection和Recordset的Close方法,可以釋放記錄集,關(guān)閉和數(shù)據(jù)源的連接。 Set Connection=nothing Connection.Close 和 Set Recordset=nothing Recordset.Close Set rs = nothing Cn.Close,7,第11章 使用VB開發(fā)SQL Server應(yīng)用程序,可以靠檢查Field對(duì)象的Value屬性來(lái)獲得字段的值 (因?yàn)镕ield對(duì)象的缺省屬性是Value屬性,你只要引用Field對(duì)象即可,不需要明顯的引用Value屬性),Field對(duì)象,各種語(yǔ)法形式 : rs.Fields(“LastName“) rs!LastName rs!LastName 在Fields集合中,也可以用索引來(lái)標(biāo)識(shí)Field字段: rstEmployees.Fields(0) 可以使用索引循環(huán)遍歷整個(gè)集合,在每一輪的循環(huán)中將索引的值加一。集合中的對(duì)象編號(hào)是從0開始的,因此第一個(gè)Field的編號(hào)為0,第二個(gè)為1,依此類推。字段的順序是由基本表決定的。通常按照打開記錄集時(shí)取得的順序?qū)ψ侄芜M(jìn)行編號(hào)。,01.vbx,8,第11章 使用VB開發(fā)SQL Server應(yīng)用程序,(1) Recordset對(duì)象的定位方法: MoveFirst方法用于轉(zhuǎn)到記錄集的第一行。 MoveNext方法用于轉(zhuǎn)到記錄集的下一行。 MovePrevious方法用于轉(zhuǎn)到記錄集的上一行。 MoveLast方法用于轉(zhuǎn)到記錄集的最后一行。 Move方法用于按說(shuō)明的個(gè)數(shù)移動(dòng)記錄。,Recordset對(duì)象的定位方法,9,第11章 使用VB開發(fā)SQL Server應(yīng)用程序,(2) 使用BOF和EOF遍歷記錄集,Recordset對(duì)象的定位方法,Recordset對(duì)象還提供了兩個(gè)屬性用于告知你此時(shí)是否到了記錄集的開始處或末尾處; EOF(End of File)屬性為True時(shí),表示你已移到了記錄集的最 后一個(gè)元素后面。 BOF(Beginning of File)屬性為True時(shí),表示你已移到了記錄 集的第一個(gè)元素之前。,10,第11章 使用VB開發(fā)SQL Server應(yīng)用程序,(2) 使用BOF和EOF遍歷記錄集,Recordset對(duì)象的定位方法,通常用于遍歷記錄集的代碼便是把定位方法和BOF、EOF結(jié)合起來(lái),通常代碼是一個(gè)循環(huán),如下: Do Until EOF 從字段Field中讀取數(shù)據(jù) rs.MoveNext Loop,11,第11章 使用VB開發(fā)SQL Server應(yīng)用程序,(3) 使用BOF和EOF來(lái)確定一個(gè)記錄集是否為空,Recordset對(duì)象的定位方法,即使記錄集中沒有個(gè)記錄,BOF和EOF屬性也是可用的。事實(shí)上,判斷記錄是否為空的最好方法就是檢驗(yàn)BOF和EOF的值,如果EOF和BOF都為True,記錄集中便沒有記錄。,02.vbx,12,第11章 使用VB開發(fā)SQL Server應(yīng)用程序,(4) 使用RecordCount屬性來(lái)確定記錄集中記錄的條數(shù),Recordset對(duì)象的定位方法,可以用RecordCount屬性來(lái)找出在一個(gè)Recordset對(duì)象中一共有多少條記錄。,03.vbx,(5) 當(dāng)前記錄在記錄集中的位置,有的時(shí)候需要確定當(dāng)前記錄在記錄集中的位置,并將當(dāng)前記錄位置指示給用戶。例如,可以用撥號(hào)盤或儀表盤等類型的控件顯示當(dāng)前的記錄位置。以下屬性可以指示當(dāng)前的記錄位置:AbsolutePosition屬性。 AbsolutePosition屬性的值為當(dāng)前記錄相對(duì)于0的位置。然而,不要誤以為它就是記錄號(hào):在當(dāng)前記錄處于不定狀態(tài)時(shí),AbsolutePosition的值為一1。另外,在訪問(wèn)記錄集時(shí),不能保證記錄每次都以同樣的順序出現(xiàn)。,04.vbx,13,第11章 使用VB開發(fā)SQL Server應(yīng)用程序,(6) 改變記錄的值,Recordset對(duì)象的定位方法,為了使用ADO Recordset對(duì)象更新已有的記錄,可以遵循如下步驟: 打開一個(gè)記錄集。 給該Recordset對(duì)象中的字段分配值 通過(guò)執(zhí)行該Recodset對(duì)象的Update方法以保存該記錄。 rs.Fields (“LastName“) = “Smith“ 或者,因?yàn)镕ields是Recordset對(duì)象的缺省集合,在向字段賦值時(shí)可以省去對(duì)Fields集合的顯式引用。 rs!LastName = “Smith“ 用記錄集的update方法把記錄保存到數(shù)據(jù)庫(kù)。,14,第11章 使用VB開發(fā)SQL Server應(yīng)用程序,(7) 用AddNew 和Update方法創(chuàng)建新記錄,Recordset對(duì)象的定位方法,使用記錄集的AddNew 和Update方法,可以在任何可更新的Rocordset對(duì)象中創(chuàng)建新的記錄,在記錄集中創(chuàng)建新記錄的過(guò)程分為三步: 執(zhí)行記錄集的AddNew方法,這將在記錄集的末尾添加一個(gè)新的空白記錄。 使用通常向數(shù)據(jù)庫(kù)字段賦值的語(yǔ)句為新記錄賦值。 用記錄集的Update方法把記錄寫到數(shù)據(jù)庫(kù)中。,DataEntr.vbx,15,第11章 使用VB開發(fā)SQL Server應(yīng)用程序,搜索記錄集和表中的數(shù)據(jù),搜索記錄集中的數(shù)據(jù),搜索和查詢不同。查詢返回的是一個(gè)記錄集。搜索在記錄集的全部記錄中查找滿足你說(shuō)明的條件的單個(gè)記錄。 針對(duì)ADO的記錄集,搜索數(shù)據(jù)使用Recordset的Find方法。 例如,假定你有一個(gè)由顧客組成的記錄集,并且你對(duì)查找姓Smith的第一個(gè)顧客感興趣,則可以使用以下的代碼: rs.Find “LastName=Smith“ 特別要記住的是,與SQL SELECT查詢不同,搜索不會(huì)產(chǎn)生一個(gè)記錄集。當(dāng)Find方法搜索 Recordset 中滿足指定條件的記錄,如果條件符合,則記錄集位置設(shè)置在找到的記錄上,否則位置將設(shè)置在記錄集的末尾。,Finder.vbx,查找客戶: FirstName:Daryl Lastname:Halpin,16,第11章 使用VB開發(fā)SQL Server應(yīng)用程序,使用Bookmark屬性記錄你在Recordset中的位置,使用Bookmark書簽,當(dāng)你在一個(gè)Recordset對(duì)象上的執(zhí)行操作時(shí),移來(lái)移去是常有的事,有時(shí)還需要移回開始的地方,用Recordset對(duì)象的Bookmark屬性可以記住位置,以便以后能夠返回這個(gè)位置。 能提供Bookmark的記錄集中,每個(gè)記錄都有其自己的Bookmark,可以在任何時(shí)候進(jìn)行檢索和保存。但是書簽并不是存儲(chǔ)在數(shù)據(jù)

溫馨提示

  • 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論