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