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