

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一.用SqlDataAdapter.Update(DataSetDs)更新數(shù)據(jù)庫(kù).1.DbDataAdapter調(diào)用Update方法時(shí),DataAdapter將分析已作出的更改并執(zhí)行相應(yīng)的命令(、UPDATE或)。當(dāng)DataAdapter遇到對(duì)DataRow的更改時(shí),它將使用Comm、UpdateComm或Comm來(lái)處理該更改。這樣,您就可以通過(guò)在設(shè)計(jì)時(shí)指定命令語(yǔ)法并在可能時(shí)通過(guò)使用存儲(chǔ)過(guò)程來(lái)盡量提高應(yīng)用程序的性能。在調(diào)用Update之
2、前,必須顯式設(shè)置這些命令。如果調(diào)用了Update但不存在用于特定更新的相應(yīng)命令(例如,不存在用于已刪除行的Comm),則將引發(fā)異常。但是如果DataTable映射到單個(gè)數(shù)據(jù)庫(kù)表或從單個(gè)數(shù)據(jù)庫(kù)表生成,則可以利用CommBuilder對(duì)象自動(dòng)生成DataAdapter的Comm、Comm和UpdateComm。為了自動(dòng)生成命令,必須設(shè)置Comm屬性,這是最低的要求。Comm所檢索的表架構(gòu)確定自動(dòng)生成的、UPDATE和語(yǔ)句的語(yǔ)法。如果在自動(dòng)生
3、成插入、更新或刪除命令后修改Comm的CommText,則可能會(huì)發(fā)生異常。如果已修改的mText所包含的架構(gòu)信息與自動(dòng)生成插入、更新或刪除命令時(shí)所使用的mText不一致,則以后對(duì)DataAdapter.Update方法的調(diào)用可能會(huì)試圖訪問(wèn)Comm引用的當(dāng)前表中已不存在的列,并且會(huì)引發(fā)異常??梢酝ㄟ^(guò)調(diào)用CommBuilder的RefreshSchema方法來(lái)刷新CommBuilder用來(lái)自動(dòng)生成命令的架構(gòu)信息。對(duì)于DbDataAdapte
4、r.Update方法更新數(shù)據(jù)庫(kù),每次在調(diào)用DbDataAdapter.Update(ds)之后一定要ds.acceptchanges否則會(huì)對(duì)后面用到的ds出現(xiàn)意想不到的錯(cuò)誤。.Framewk開(kāi)發(fā)人員指南檢索“標(biāo)識(shí)”或“自動(dòng)編號(hào)”值為了確保表中的每一行都有唯一的值,可以將DataTable中的列設(shè)置為自動(dòng)遞增的主鍵。但是,您的應(yīng)用程序可能會(huì)有多個(gè)客戶(hù)端,而每個(gè)客戶(hù)端都可能會(huì)使用一個(gè)單獨(dú)的DataTable實(shí)例。在這種情況下,單獨(dú)的Data
5、Table實(shí)例之間最終可能會(huì)出現(xiàn)重復(fù)的值。由于所有客戶(hù)端都使用單個(gè)數(shù)據(jù)源,因此可以讓數(shù)據(jù)源定義自動(dòng)遞增值,從而解決這一沖突。若要完成此任務(wù),請(qǐng)使用MicrosoftSQLServer中的“標(biāo)識(shí)”列或MicrosoftAccess中的“自動(dòng)編號(hào)”字段。如果使用數(shù)據(jù)源為添加到DataSet中的新行填充“標(biāo)識(shí)”或“自動(dòng)編號(hào)”列,則會(huì)出現(xiàn)唯一的情況,因?yàn)镈ataSet與數(shù)據(jù)源之間沒(méi)有直接連接。因此,DataSet不識(shí)別任何由數(shù)據(jù)源自動(dòng)生成的值。
6、但是,對(duì)于可以創(chuàng)建帶有輸出參數(shù)的存儲(chǔ)過(guò)程的數(shù)據(jù)源(如MicrosoftSQLServer),可以將自動(dòng)生成的值(如新的標(biāo)識(shí)值)指定為輸出參數(shù)并使用DataAdapter將該值映射回DataSet中的相應(yīng)列。數(shù)據(jù)源可能不支持帶有輸出參數(shù)的存儲(chǔ)過(guò)程。在這種情況下,將可以使用RowUpdated事件來(lái)檢索自動(dòng)生成的值,并將其放入DataSet中的插入行或更新行。本節(jié)包含一個(gè)示例,顯示當(dāng)在MicrosoftAccess2000或更高版本上使用J
7、et4.0OLEDB提供程序時(shí),如何將代碼添加到RowUpdated事件中以確定插入是否已發(fā)生,然后檢索自動(dòng)生成的值并將其存儲(chǔ)在當(dāng)前更新的行中。檢索SQLServer“標(biāo)識(shí)”列的值以下存儲(chǔ)過(guò)程和代碼示例顯示如何將自動(dòng)遞增的標(biāo)識(shí)值從MicrosoftSQLServer表映射回添加到向DataSet的表添加的行中的相應(yīng)列。該存儲(chǔ)過(guò)程用于將一個(gè)新行插入Nthwind數(shù)據(jù)庫(kù)的Categies表并以輸出參數(shù)的形式返回從TransactSQLSCO
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 不同數(shù)據(jù)庫(kù)update實(shí)現(xiàn)多表更新
- 數(shù)據(jù)庫(kù)更新源碼.doc
- vb net中保存對(duì)dataset、datatable的修改到數(shù)據(jù)庫(kù)
- 《林業(yè)數(shù)據(jù)庫(kù)更新技術(shù)規(guī)范》
- 1:25萬(wàn)數(shù)據(jù)庫(kù)更新研究.pdf
- 空間數(shù)據(jù)庫(kù)更新技術(shù)
- 用vb調(diào)用access數(shù)據(jù)庫(kù)1
- 數(shù)據(jù)庫(kù)檢索acs數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---數(shù)據(jù)庫(kù)
- 基因調(diào)控信息集成數(shù)據(jù)庫(kù)智能更新.pdf
- 用vb的代碼創(chuàng)建access數(shù)據(jù)庫(kù)
- 怎樣用plsql連接oracle數(shù)據(jù)庫(kù)
- 基于XML異構(gòu)數(shù)據(jù)庫(kù)的查詢(xún)與更新.pdf
- dna數(shù)據(jù)庫(kù)建庫(kù)用試劑及耗材談判文件
- 基于關(guān)系數(shù)據(jù)庫(kù)的XML數(shù)據(jù)存儲(chǔ)、更新和檢索.pdf
- 數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--數(shù)據(jù)庫(kù)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)操作及認(rèn)識(shí)數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)實(shí)驗(yàn)jdbc連接數(shù)據(jù)庫(kù)
- 數(shù)據(jù)庫(kù)學(xué)習(xí)入門(mén)數(shù)據(jù)庫(kù)基礎(chǔ)入門(mén)
評(píng)論
0/150
提交評(píng)論