運(yùn)用ADO.NET處理相關(guān)秘訣
如果ADO.NET處理是本機(jī),可以寫作“l(fā)ocalhost”;若ADO.NET處理不是本機(jī),***用要連接SqlServer服務(wù)器的IP地址。運(yùn)用SqlCommand執(zhí)行SQL命令來添加數(shù)據(jù)記錄。。。。。
該方法主要利用SqlDataAdapter的Fill方法將數(shù)據(jù)填充到客戶端的DataSet 數(shù)據(jù)集中,填充后與數(shù)據(jù)源斷開。在客戶端對(duì)DataSet中的記錄表進(jìn)行瀏覽、插入、修改、刪除,操作完成后如需更新數(shù)據(jù)庫。
再利用SqlDataAdapter的UpDate方法將DataSet中數(shù)據(jù)表處理的結(jié)果更新到SQL數(shù)據(jù)庫中。往往適用于對(duì)數(shù)據(jù)表進(jìn)行繁雜操作或長(zhǎng)時(shí)間交互處理。這種方式在一些編程書籍介紹較多,本人只想對(duì)向SQL數(shù)據(jù)庫記錄操作的主要步驟作以說明。
- Dim MySqlataAdapter As SqlDataAdapter
- Dim MyDataSet As DataSet
- Dim strSql As string="select * from Test"
- MySqlDataAdapter=New SqlDataAdapter(srtSql,Myconnection)
- Dim objBc As New SqlCommandBuilder(MySqlDataAdapter)
- ……
在以上操作中,我們重點(diǎn)介紹一下SqlCommandBuilder對(duì)象能夠據(jù)創(chuàng)建SqlataAdapter對(duì)象過程中指定的select語句,ADO.NET處理基于SQL Update、SQL Insert、SQL Delete語句構(gòu)造出SqlCommand對(duì)象,并將對(duì)象賦予DataAdapter的UpdateCommand、InsertCommand、DeleteCommand屬性。只適用以下情況:更新單個(gè)數(shù)據(jù)庫表中的記錄。用于生DataAdapter對(duì)象的Select語句,必須返回一個(gè)包含唯一識(shí)別記錄的列。
ADO.NET處理屬性不能發(fā)生變化。但當(dāng)DataAdapter對(duì)象是從是多個(gè)關(guān)聯(lián)的表中檢索出的記錄時(shí),就不能使用qlCommandBuilder類了,必需手寫SQLCommand對(duì)象賦予DataAdapter對(duì)象的相關(guān)的命令屬性,這樣會(huì)比較繁。關(guān)于這一點(diǎn),相關(guān)書籍介紹到的很少希望讀者能夠重視。#t#
ADO.NET處理與常用的2種數(shù)據(jù)庫連接方式進(jìn)行了介紹。ADO.NET對(duì)數(shù)據(jù)的處理分為:保持連接狀態(tài)的數(shù)據(jù)操作和無連接狀態(tài)的數(shù)據(jù)操作。ADO.NET處理保持連接狀態(tài)的數(shù)據(jù)操作適合對(duì)數(shù)據(jù)快速處理,無連接狀態(tài)的數(shù)據(jù)操作適用于用戶長(zhǎng)時(shí)間對(duì)部分?jǐn)?shù)據(jù)記錄進(jìn)行處理。
無連接狀態(tài)的數(shù)據(jù)操作更新數(shù)據(jù)時(shí)必須構(gòu)造DataAdapter更新命令的UpdateCommand、InsertCommand、DeleteCommand命令屬性。據(jù)本人在寫程序的過程中總結(jié)出的一些經(jīng)驗(yàn)之談,在此愿與大家分享,也許對(duì)大家有所幫助。大家只有編程的過程才能體會(huì)到成功的快樂,就會(huì)得到許多書本上找不到的發(fā)現(xiàn)。