国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - SqlCommandBuilder如何實現批量更新

SqlCommandBuilder如何實現批量更新

2019-12-26 12:54tracywang ASP.NET教程

這篇文章主要介紹了SqlCommandBuilder如何實現批量更新,需要的朋友可以參考下

一般是這樣的,如果用設計器將SqlDataAdapter拖到頁面中使用時,不會出現SqlDataAdapter.Update(ds)更新時出錯情況,因為系統會自動生成SqlDataAdapter的屬性命令,比如: .UpdateCommane insertCommand selectCommand等。  但是有些程序員不喜歡用設計器,或者是有些地方沒必要拖動SqlDataAdapter這么個龐大物來實現,那么SqlDataAdapter就不會自動生成相關的查詢或更新語句了。 所以當執行到SqlDataAdapter.Update(ds)語句時,SqlDataAdapter橋接器不知道更新哪個表不報錯了。
解決方法:用SqlCommandBuilder 實現批量更新
1.功能:
可以實現你對DataSet在UI層做任意操作后,直接丟給這個方法,這個方法就可以自動把你的修改更 新到數 據庫中,而沒必要每次都更新到數據庫
2.使用方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public int UpdateByDataSet(DataSet ds,string strTblName,string strConnection)
 {
  try
 {
  SqlConnection conn = new SqlConnection(strConnection));
  SqlDataAdapter myAdapter = new SqlDataAdapter();
  SqlCommand myCommand = new SqlCommand("select * from "+strTblName),(SqlConnection)this.conn); 
  myAdapter.SelectCommand = myCommand;
  SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter); 
  myAdapter.Update(ds,strTblName);
  return 0;
}
catch(BusinessException errBU)
{
  throw errBU;
}
catch(Exception err)
{
  throw new BusinessException(err);
}
}

直接調用這個方法就可以啦,說明的一點是select * from "+strTblName是一定要的,作用大家也應該想到了,主要是告訴SqlDataAdapter更新哪個表。
3.什么時候用?
    a. 有時候需要緩存的時候,比如說在一個商品選擇界面,選擇好商品,并且進行編輯/刪除/更新后,
       最后一并交給數據庫,而不是每一步操作都訪問數據庫,因為客戶選擇商品可能進行n次編輯/刪除
       更新操作,如果每次都提交,不但容易引起數據庫沖突,引發錯誤,而且當數據量很大時在用戶執行
       效率上也變得有些慢
    b.有的界面是這樣的有的界面是這樣的,需求要求一定用緩存實現,確認之前的操作不提交到庫,點擊
      頁面專門提交的按鈕時才提交商品選擇信息和商品的其它信息. 我經常遇到這樣的情況
    c.有些情況下只往數據庫里更新,不讀取. 也就是說沒有從數據庫里讀,SqlDataAdapter也就不知道是
      更新哪張表了,調用Update就很可能出錯了。這樣的情況下可以用SqlCommandBuilder 了.
4.注意點:
   1).只能更新一個表,不能更新兩個或兩個以上相關聯的表
   2).表中必須有主鍵
   3).更新的表中字段不能有image類型的
5.優點:
    節省代碼量,節省時間,這個方法可以代替所有的:  更新/刪除/插入操作語句
6.缺點:
    訪問兩次數據庫(select * TableName,就是這句,要確認是哪個表,除非是很大的數據量, 一般是感覺不到的),效率有些慢。

以上就是用SqlCommandBuilder 實現批量更新的方法,介紹了其優缺點,以及注意點,內容很詳細,希望大家可以喜歡。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 日韩欧美视频 | 干干人人| 欧美黄色一区二区 | 凹凸国产成人精品视频免费 | 美女黄18| 国产在线精品一区 | 美女在线视频一区二区 | 精品欧美乱码久久久久久1区2区 | 亚洲精品国产a久久久久久 中文字幕在线第一页 | 在线免费国产 | 中文在线播放 | 午夜爱爱毛片xxxx视频免费看 | 久久99深爱久久99精品 | 精品少妇一区二区三区日产乱码 | 日本免费在线一区 | 一区二区中文 | 色婷婷在线视频观看 | 欧美精品一区二区三区蜜桃视频 | 亚洲天天在线观看 | 黄色小视频在线观看 | 91精品国产综合久久福利软件 | 精品一区二区三区成人精品 | 亚洲网站免费 | 视频精品一区二区 | 日韩 欧美 中文 | 天天久久 | 亚洲一区二区三区在线免费观看 | 麻豆国产尤物av尤物在线观看 | 日韩精品免费在线观看 | 91.成人天堂一区 | 亚洲精品久久久久久国 | 超碰人人爱人人 | 午夜视频网 | 羞羞网站在线 | 欧美亚洲精品在线 | 色综合久久一区二区三区 | 亚洲成熟少妇视频在线观看 | 欧洲精品码一区二区三区免费看 | 男女做爰猛烈叫床无遮挡 | 国产在线综合视频 | 爱操在线 |