




已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
V數(shù)據(jù)庫(kù)編程,.net中一般使用來(lái)和數(shù)據(jù)庫(kù)進(jìn)行連接,與數(shù)據(jù)庫(kù)連接數(shù)據(jù)庫(kù)查詢(xún)使用DataAdapter獲取數(shù)據(jù)處理DataSet對(duì)象,與數(shù)據(jù)庫(kù)連接,如果是和微軟的ACCESS或SQLSERVER連接,使用的CONNECTION是OleDbConnection,這也是最常使用的連接對(duì)象需要在VB.NET中引用System.Data,System.Data.OleDb以及System.Data.SqlClientImportsSystem.DataImportsSystem.Data.OledbImportsSystem.Data.sqlclient,創(chuàng)建CONNECTION對(duì)象DimcnasoledbconnectionCn=newoledbconnection()連接字符串(告訴connection對(duì)象使用什么用戶(hù)名和密碼,連接哪一臺(tái)計(jì)算機(jī)上的哪個(gè)數(shù)據(jù)庫(kù))連接字符串形式如:provider=sqloledb;datasource=;initialcatalog=pubs;userid=sa;,開(kāi)放連接Cn.open()關(guān)閉連接Cn.close(),.net中默認(rèn)使用連接池來(lái)和數(shù)據(jù)庫(kù)連接;而且連接池默認(rèn)是打開(kāi)的,所以在調(diào)用CLOSE方法時(shí),與數(shù)據(jù)庫(kù)的實(shí)際連接并沒(méi)有真正被關(guān)閉,而是被傳遞到池中,以后它就在池中重用如果不想使用連接池Oledbconnectionoledbservices=-4;Sqlconnectionpooling=false;,動(dòng)態(tài)的數(shù)據(jù)庫(kù)連接通過(guò)給Oledbconnection的connectionstring屬性賦不同的值來(lái)動(dòng)態(tài)連接數(shù)據(jù)庫(kù)在OLEDBCONNECTION提供的屬性中database數(shù)據(jù)庫(kù)名稱(chēng)Datasource數(shù)據(jù)庫(kù)位置State當(dāng)前狀態(tài)是打開(kāi)或關(guān)閉,Changedatabase方法Cn.changedatabase(“northwind”)Statechange事件:連接狀態(tài)改變時(shí)需要做的事情,數(shù)據(jù)庫(kù)查詢(xún),使用command對(duì)象執(zhí)行SQL語(yǔ)句創(chuàng)建command:Dimcmdasnewoledbcommandcmd.connection=mandtext=“select*fromauthors”,執(zhí)行無(wú)返回行的查詢(xún)Cmd.executenonquery()對(duì)于update語(yǔ)句來(lái)說(shuō),有時(shí)會(huì)修改某些行的值,有時(shí)卻不會(huì)修改任何行,但是不會(huì)發(fā)生任何異常Command對(duì)象將所影響的行數(shù)作為Cmd.executenonquery()的返回值,執(zhí)行一個(gè)有返回集的查詢(xún)Cmd.executereader返回一個(gè)數(shù)據(jù)集(對(duì)象)Dimrdrasoledbdatareader=cmd.executereader(),使用此數(shù)據(jù)集Rdr.read()第一次使用此方法會(huì)移動(dòng)游標(biāo)到結(jié)果集的第一行,以后每次使用時(shí)會(huì)自動(dòng)下移一行.如果數(shù)據(jù)集已經(jīng)結(jié)束則此方法會(huì)返回FALSWhilerdr.read()rdr.read(“customerid”)Endwhile,缺點(diǎn)必須隨時(shí)用完隨時(shí)關(guān)閉,否則在試圖打開(kāi)第二個(gè)datareader,就會(huì)出現(xiàn)異常.Datareader會(huì)把connection對(duì)象鎖定數(shù)據(jù)是只讀的游標(biāo)只能向前,不能后退.如果需要在各個(gè)查詢(xún)結(jié)果之間前后移動(dòng),則應(yīng)該使用DATASET優(yōu)點(diǎn):速度快,執(zhí)行返回單值的查詢(xún)Selectcount(*)fromcustomers使用datareader或著dataset來(lái)獲取單值是可以的,但是有些大材小用.Command有一專(zhuān)門(mén)為此類(lèi)設(shè)計(jì)的方法:executescalar,獲取第一行第一列的數(shù)據(jù),參數(shù)化查詢(xún)Selectorderid,customeridfromorderswherecustomerid=?是參數(shù)標(biāo)記給參數(shù)賦值Cmd.parameters.add(“customerid”,oledbtype.wchar,5)Cmd.parameters(0).value=“jcc”,使用DataAdapter獲取數(shù)據(jù),dataadapter是專(zhuān)門(mén)用來(lái)處理脫機(jī)數(shù)據(jù)的Dataadapter將查詢(xún)到的數(shù)據(jù)放入DATASET中,然后就不需要連接數(shù)據(jù)庫(kù)了實(shí)際上DATASET就相當(dāng)于一個(gè)小數(shù)據(jù)庫(kù),不過(guò)是放在內(nèi)存中的.Da.fill(dataset),MappingDatatablemapping和datacolumnmappingDimdaasoledbdataadapterDimtblmapasdatatablemappingDimcolmapasdatacolumnmappingTblmap=da.tablemappings.add(“table”,”e”)Colmap=da.columnmappings.add(“l(fā)name”,”xing”),根據(jù)dataadapter對(duì)象的FILL方法分頁(yè)Da.fill(dataset,0,20,”student”)Da將選中的數(shù)據(jù)中前20行放在DATASET的student表中,其他的數(shù)據(jù)丟棄(并不表示從數(shù)據(jù)庫(kù)中只找到20行),打開(kāi)和關(guān)閉連接方面是Dataadapter和command之間的區(qū)別最大的區(qū)別DimcnasoledbconnectionDimdaasdataadapterDimcmdasolecommand如果cn沒(méi)有打開(kāi)連接,那么當(dāng)da要查詢(xún)數(shù)據(jù)庫(kù)時(shí),它會(huì)自動(dòng)打開(kāi)連接使用完畢后自動(dòng)關(guān)閉;cmd則會(huì)返回一個(gè)異常.,多次調(diào)用FILL方法如果要刷新DATASET中的數(shù)據(jù),最簡(jiǎn)單方法是清空DATASET,然后在調(diào)用fill方法.否則數(shù)據(jù)表中的記錄會(huì)又一次被放入dataset中了.(原來(lái)的數(shù)據(jù)還在),處理DataSet對(duì)象,向dataset中已有的數(shù)據(jù)表添加數(shù)據(jù)Dimrowasdatarow=ds.tables(“student”).newrowRow(“name”)=“jichengchao”Row(“telphon”)=“3511045”,修改dataset中已有的數(shù)據(jù)表Row=ds.tables(“student”).rows.find(“jichengchao”)IfrowisnothingthenelseRow(“name”)=“chenghui”endif,Row.begineditRow(“name”)=“chenghui”Row.endedit可以調(diào)用canceledit取消修改,刪除數(shù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 西藏拉薩典當(dāng)管理辦法
- 居家衛(wèi)生管理辦法細(xì)則
- 西藏疫情管理辦法細(xì)則
- 福州市百校數(shù)學(xué)試卷
- 高考筆刷題數(shù)學(xué)試卷
- 二模2024數(shù)學(xué)試卷
- 高中學(xué)生做高考數(shù)學(xué)試卷
- 高二選選修二數(shù)學(xué)試卷
- 部編版小學(xué)語(yǔ)文《習(xí)作單元的編排特點(diǎn)及教學(xué)建議》課件
- 肖像兒童畫(huà)課件
- 【公開(kāi)課】三角形的邊+課件+2025-2026學(xué)年人教版八年級(jí)數(shù)學(xué)上冊(cè)
- 2025年廣東省普通高中學(xué)業(yè)水平合格性考試模擬一歷史試題(含答案)
- 【公開(kāi)課】+分子動(dòng)理論的初步知識(shí)(教學(xué)課件)2025-2026學(xué)年初中物理人教版(2024)九年級(jí)全一冊(cè)
- 2023aki的預(yù)防診斷和管理
- 2025年4月自考03346項(xiàng)目管理試題
- 慢性腎衰竭患者心理的護(hù)理
- 艾梅乙反歧視培訓(xùn)課件
- 浙江省杭州市2024-2025學(xué)年高二下學(xué)期6月期末教學(xué)質(zhì)量檢測(cè)英語(yǔ)試題(含答案)
- 2025年河南省中考地理試題(含答案)
- 2025安全生產(chǎn)月一把手講安全公開(kāi)課三十二(91P)
- 2024年安徽外國(guó)語(yǔ)學(xué)院輔導(dǎo)員考試真題
評(píng)論
0/150
提交評(píng)論