程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 分頁解決方案之數據訪問函數庫

分頁解決方案之數據訪問函數庫

編輯:關於ASP.NET

如何訪問數據庫?一個老掉牙的問題,方法多了去了,什麼直接使用ado.net、使用SQLHelp、使用微軟的企業庫、使用ORM、使用LinQ to SQL等等,還可以使用自己封裝的函數庫,這裡我就想說一下我的數據訪問函數庫的使用方法。

您可能會說了,這麼簡單的東東還用說嗎,重復制作輪子有意義嗎?這個嘛,個人有個人的看法了,我也不多說了,先看使用方法吧。

1、刪除一條數據,不使用事務

protected void Btn_Del_Click(object sender, EventArgs e)
{
  //不用事務,直接刪除數據
  string sql = "delete from News_NewsInfo where newsID = 18 ";

  //執行SQL語句
  dal.ExecuteNonQuery(sql);

  判斷是否出現異常 和 是否真的刪除了一條數據#region 判斷是否出現異常 和 是否真的刪除了一條數據
  //判斷是否出現異常
  if (dal.ErrorMessage.Length > 0)
  {
   //出現了異常,客戶端彈出提示信息
   Functions.PageRegisterAlert(Page,"刪除數據的時候發生異常,請與管理員聯系!");
   return;
  }
  //判斷是否真的刪除了一條數據
  //ExecuteRowCount 會返回操作影響的行數(不包括select語句)
  if (dal.ExecuteRowCount != 1)
  {
   //沒有正確刪除一條數據,客戶端彈出提示信息
   Functions.PageRegisterAlert(Page, "沒有正確刪除這條數據,請與管理員聯系!");
   return;
  }
  #endregion
}

2、刪除多條數據,使用事務

protected void Btn_DelMore_Click(object sender, EventArgs e)
{
 //使用事務,刪除多個表裡面的數據

 //開啟一個事務
 dal.TranManager.TranBegin();

 string sql = "delete from News_NewsInfo where newsID = 13 ";

 //執行SQL語句
 dal.ExecuteNonQuery(sql);

 判斷是否出現異常 和 是否真的刪除了一條數據#region 判斷是否出現異常 和 是否真的刪除了一條數據
 //判斷是否出現異常
 if (dal.ErrorMessage.Length > 0)
 {
  //出現了異常,客戶端彈出提示信息
  //數據訪問函數庫內部會自動回滾事務,外部不用回滾!
  Functions.PageRegisterAlert(Page, "刪除數據的時候發生異常,請與管理員聯系!");
  return;
 }

 //判斷是否真的刪除了一條數據
 //ExecuteRowCount 會返回操作影響的行數(不包括select語句)
 if (dal.ExecuteRowCount != 1)
 {
  //沒有正確刪除一條數據,客戶端彈出提示信息
  //沒有產生異常,內部並沒有自動回滾事務,所以請調用回滾的函數,回滾事務!
  dal.TranManager.TranRollBack();
  Functions.PageRegisterAlert(Page, "沒有正確刪除這條數據,請與管理員聯系!");
  return;
 }
 #endregion

 sql = "delete from News_NewsInfo where newsID = 14  ";
 //執行SQL語句
 dal.ExecuteNonQuery(sql);

 判斷是否出現異常 和 是否真的刪除了一條數據#region 判斷是否出現異常 和 是否真的刪除了一條數據
 //判斷是否出現異常
 if (dal.ErrorMessage.Length > 0)
 {
  //出現了異常,客戶端彈出提示信息
  //數據訪問函數庫內部會自動回滾事務,外部不用回滾!
  Functions.PageRegisterAlert(Page, "刪除數據的時候發生異常,請與管理員聯系!");
  return;
 }

 //判斷是否真的刪除了一條數據
 //ExecuteRowCount 會返回操作影響的行數(不包括select語句)
 if (dal.ExecuteRowCount != 1)
 {
  //沒有正確刪除一條數據,客戶端彈出提示信息
  //沒有產生異常,內部並沒有自動回滾事務,所以請調用回滾的函數,回滾事務!
  dal.TranManager.TranRollBack();
  Functions.PageRegisterAlert(Page, "沒有正確刪除這條數據,請與管理員聯系!");
  return;
 }
 #endregion

 //可以繼續執行其他的操作,不僅僅是刪除語句,insert、Update語句都可以執行。
 //執行之後都要進行判斷

 //所有的操作都正確執行完畢之後,需要提交事務
 dal.TranManager.TranCommit();

 //注意,事務不支持嵌套!

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved