成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET運用動態(tài)構(gòu)建語句實現(xiàn)高效批量刪除

開發(fā) 后端
今天我們將談到的是ASP.NET運用動態(tài)構(gòu)建語句實現(xiàn)高效批量刪除,無論你選多少要刪除的數(shù)據(jù),只需調(diào)用試行一次。

網(wǎng)站中的批量刪除很常見,特別是對在gridview中做批量刪除。我們一般的做法是循環(huán)到勾選的就調(diào)用過程直接刪除。這樣的話個人覺得效率不是很高,如果是上百上千的數(shù)據(jù)要刪除,那就得調(diào)用試行上百次。其實我們可以運用動態(tài)構(gòu)建刪除語句進(jìn)行高效批量刪除,無論你選多少要刪除的數(shù)據(jù),只需調(diào)用試行一次。

底下寫的存儲過程刪除語句與上圖無關(guān),上圖是常見的在gridview中做批量刪除。使用存儲過程:

  1. ---------------------------------------------------------------------------------------  
  2. /* *作    者:lin sen *功能說明:動態(tài)構(gòu)建SQL語句之刪除 *編寫日期:2010年9月27日 **/  
  3. ---------------------------------------------------------------------------------------  
  4. drop procedure proc_DeleteMessagegocreate procedure proc_DeleteMessage(      
  5. @condition          
  6. varchar(500)              
  7. --刪除條件(多個)             
  8.  )asbegin      
  9. declare @sql varchar(200)      
  10. --動態(tài)構(gòu)建刪除語句      
  11. select @sql='Delete from MessageInfo where '+@condition     
  12.  --試行語句    exec (@sql)endgo 

在SQL查詢分析器上調(diào)用該過程:(傳入的條件是唯一標(biāo)識列名和所選中的值)

  1. exec proc_DeleteMessage 'MessageID=240 or MessageID=241 or MessageID=242...' 

在SQL調(diào)用看不太清楚,我們來看下Web中的前臺調(diào)用與試行。

  1.  //刪除按鈕單擊事件          
  2. protected void LBtn_Del_Click(object sender, EventArgs e)          
  3. {              
  4. StringBuilder sb = new StringBuilder();              
  5. for (int i = 0; i < GV_class.Rows.Count; i++)           
  6.  {                  
  7. CheckBox checkbox = (CheckBox)GV_class.Rows[i].FindControl("checkbox");                  
  8. if (checkbox.Checked == false)               
  9.  {                      
  10. lab_Note.Text = "請選擇要刪除信息";                   
  11.  lab_Note.Style.Add("color""red");                 
  12.  }                  
  13. else                 
  14.  {                      
  15. MessageModel.C_ID = Int32.Parse(GV_class.Rows[i].Cells[3].Text.Trim());//選中的唯一標(biāo)識列值                    
  16. sb.Append("MessageID=");                     
  17.  sb.Append(MessageModel.C_ID);                   
  18.  sb.Append(" or ");                 
  19.  }              
  20. }              
  21. sb.Append("MessageID=null");            
  22. MessageModel.SQLSTR = sb.ToString();//動態(tài)的條件語句傳給實體             
  23.  int j = DeleteClass(MessageModel);              
  24. //.....        }          
  25. /// <summary>         
  26.  /// 刪除信息          
  27. /// </summary>          
  28. /// <param name="MeModel"></param>          
  29. /// <returns></returns>          
  30. public int DeleteClass(MessageModel MeModel)        
  31. {              
  32. int rowsAffected;              
  33. SqlParameter[] parameter = { new SqlParameter("@sqlstr", SqlDbType.Int) };             
  34.  parameter[0].Value = MeModel.SQLSTR;           
  35.  DbHelperSQL.RunIntProcName("proc_DeleteMessage"out rowsAffected, parameter);             
  36.  return rowsAffected;      
  37.     } 

在Web前臺動態(tài)構(gòu)建并調(diào)用過程時我們需要注意幾點:

1、我們勾選的列一般都是主鍵唯一標(biāo)識列,根據(jù)它進(jìn)行刪除。

2、如果你的主鍵是字符串不是整形,那么上面需要改動一下sb.Append("MessageID='");sb.Append(MessageModel.C_ID);

sb.Append("' or ");只是多個單引號。

3、在循環(huán)完后注意加上sb.Append("MessageID=null");結(jié)束。個人認(rèn)為主鍵不可能空的,所以這個條件排除。不加的動態(tài)語句后面多個個or;

但是千萬別在條件中加 or 1=1;那樣不管多少都成立,會被整個數(shù)據(jù)刪除。

4、把構(gòu)建的語句用參數(shù)傳入,作為刪除條件。

以上如有其他高效批量刪除數(shù)據(jù)的方法,希望貼出來和大家一起討論和分享。

原文鏈接:http://www.cnblogs.com/lsyfg/archive/2010/12/28/1919186.html

【編輯推薦】

 

 

  1. 詳解ASP.NET MVC 3 beta新特性
  2. ASP.NET MVC 3讓依賴注入實現(xiàn)得更簡單
  3. 詳解ASP.NET MVC 3 beta新特性
  4. ASP.NET MVC 3新特性與NuPack功能詳解
  5. .NET開發(fā)人員應(yīng)該關(guān)注的七個開源項目
責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2009-07-23 16:59:31

ASP.NET認(rèn)證Form表單

2009-07-28 10:01:16

ASP.NET Exc

2009-11-06 09:23:41

ASP.NET高效分頁

2009-08-02 11:48:58

ASP.NET水晶報表ASP.NET

2009-07-21 15:40:59

Asp.Net動態(tài)頁面

2009-08-04 18:10:35

ASP.NET動態(tài)編譯

2009-07-21 11:11:44

刪除CookieASP.NET

2009-07-20 16:56:16

SQL語句ASP.NET

2009-08-04 18:05:37

動態(tài)編譯ASP.NET

2009-07-30 14:03:04

ASP.NET中的se

2009-08-04 15:58:06

ASP.NET動態(tài)控件

2009-07-29 09:17:12

jQuery刪除

2009-07-22 17:45:35

ASP.NET教程

2009-08-11 10:21:54

ASP.NET構(gòu)建數(shù)據(jù)

2009-07-24 11:55:29

ASP.NET MVC

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-07-27 13:34:15

ASP.NET編程

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2009-07-31 17:35:02

ASP.NET線程安全
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 在线免费观看视频你懂的 | 国精产品一区一区三区免费完 | 国产激情福利 | 91久久精品国产 | 国产高潮好爽受不了了夜色 | 一区二区三区四区国产 | 久久久久www | 婷婷午夜天 | 国产精品免费小视频 | 日韩精品免费 | 影音先锋久久 | 亚洲一区二区三区桃乃木香奈 | 欧美一区二区黄 | 少妇无套高潮一二三区 | av电影手机版 | 久久人操| 亚洲不卡在线观看 | 国产美女一区二区 | 影音先锋中文在线 | 欧美视频1区 | 九九热这里只有精品6 | 国产成人在线视频 | 国产一区二区三区四区三区四 | 欧美高清视频一区 | 亚洲综合第一页 | 国产91视频一区二区 | 欧美精品久久久久久久久久 | 日韩精品一区二区三区中文在线 | jlzzxxxx18hd护士 | 午夜精品一区二区三区免费视频 | 国产福利在线 | 成人在线观看免费观看 | 国产高清视频一区 | 精品日韩一区二区 | 亚洲国产一区在线 | 国产精品一区二区不卡 | 91综合网 | 日本久久综合 | 欧美国产日韩一区二区三区 | 天天操欧美 | 黄网址在线观看 |