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

ASP.NET事務相關技巧介紹說明

開發 后端
ASP.NET事務登錄名與數據庫用戶名不同。您必須通過單獨的操作將登錄或 Windows 組映射到數據庫用戶或角色。然后向用戶或角色授予訪問數據庫對象的權限。

希望我對ASP.NET事務一點經驗能給大家帶來幫助,導致WebDeployment出錯的原因也許還有很多,不過在你遇到錯誤時,可以先檢查一下你程序中的字符串,暫時把他們置為””,試試看。沒準就是他引起的問題啊。

創建一個ADO.NET事務是很簡單的,僅僅是標準代碼的一個小的擴展。ASP.NET事務只要你知道如何使用ADO.NET來訪問數據庫,那就差不多知道了。區別僅僅是你需要把代碼放到一個事務上下文中。

還是原來的ADO.NET類庫引用,在實現事務的類裏面引入System.Data和System.Data.SqlClient類庫,為了執行一個事 務,你需要創建一個SqlTransation對象,可以調用你的SqlConnection對象BeginTransation()方法來創建它,一旦 你把SqlTransation對象存為本地變數,ASP.NET事務你就可以把它賦給你的SqlCommand對象的事務屬性,或者把它作為構

造器的一個參數來創建 SqlCommand。在執行SqlCommand動作之前,你必須調用BeginTransaction()方法,ASP.NET事務然後賦給SqlCommand事務屬 性。一單事務開始了,你就可以執行任何次數的SqlCommand動作,只要它是屬於同一個事務和連接。最後你可以調用SqlTransation的Commit()方法來提交事務。#t#

ADO.NET事務實際上是把事務上下文傳遞到數據庫層,如果事務中發生一個錯誤,ASP.NET事務庫會自動回滾。在你的錯誤處理代碼中,每次調用Rollback ()方法之前檢查事務對像是否存在是一種良好的習慣。這樣的一個例子是當一個死鎖發生的同時,數據庫正在執行自動回滾。優勢:

◆ 簡單性
◆ 和數據庫事務差不多的快
◆ 事務可以跨越多個數據庫訪問
◆ 獨立於數據庫,不同數據庫的專有代碼被隱藏了

限制:

事務執行在數據庫ASP.NET事務上,所以你需要在事務過程中手動的維護一個連接

例子:

  1. public int purchaseitem(int customerId, int itemId, int itemQty)  
  2.  
  3. {  
  4.  
  5. SqlConnection con = null;  
  6.  
  7. SqlTransaction tx = null;  
  8.  
  9. int orderId = 0;  
  10.  
  11. try  
  12.  
  13. {  
  14.  
  15. con = new SqlConnection("Data Source=localhost; user   
  16.  
  17. Id=sa;password=;Initial Catalog=trans_db;");  
  18.  
  19. con.Open();  
  20.  
  21. tx = con.BeginTransaction(IsolationLevel.Serializable);  
  22.  
  23. String updatesqltext = "UPDATE inventory SET qtyinstockqtyinstock   
  24.  
  25. = qtyinstock - " + itemQty.ToString()   
  26.  
  27. + " WHERE inventory.productid = " + itemId.ToString();  
  28.  
  29. SqlCommand cmd = new SqlCommand(updatesqltext, con, tx);  
  30.  
  31. cmd.ExecuteNonQuery();  
  32.  
  33. // String is 2 SQL statements: the first is the insert,   
  34.  
  35. the second selects the identity column  
  36.  
  37. String insertsqltext = "INSERT INTO orders VALUES   
  38.  
  39. (" + customerId.ToString() + "," + itemId.ToString()  
  40.  
  41. + "," + itemQty.ToString() + " , getdate() ); SELECT @@IDENTITY";  
  42.  
  43. cmd.CommandText = insertsqltext;  
  44.  
  45. // Retrieve the order id from the identity column  
  46.  
  47. orderId = Convert.ToInt32(cmd.ExecuteScalar());  
  48.  
  49. cmd.Dispose();  
  50.  
  51. tx.Commit();  

ASP.NET事務可以說是在.Net平臺上事務實現方式中最簡單的一種,你僅僅需要加一行代碼。在ASPX的頁面聲明中加一個額外的屬性,即是事務屬 性,它可以有 如下的值:Disabled (缺省), NotSupported, Supported, Required 和 RequiresNew,這些設置和COM+以及企業級服務中的設置一樣,ASP.NET事務典型地如果你想在頁面上下文中運行事務,那麼要設置為Required。如果頁 面中包含有用戶控件,那麼這些控件也會包含到事務中,事務會存在於頁面的每個地方。

責任編輯:chenqingxiang 來源: 計世網
相關推薦

2009-12-22 15:28:45

ASP.NET AJA

2011-07-06 11:15:09

ASP.NET

2009-07-24 12:14:17

asp.net技巧

2009-07-23 14:17:41

2009-07-27 17:00:29

ASP.NET主機

2009-07-29 09:14:36

ASP.NET網站

2009-07-29 10:02:49

ASP.NET上傳

2009-09-10 14:02:08

LINQ ASP.NE

2009-07-29 17:26:39

ASP.NET頁面

2009-07-20 16:12:21

ASP.NET Fra

2009-07-21 10:40:36

ASP.NET Pro

2009-07-22 16:05:34

ASP.NET AJA

2009-08-19 09:23:40

ASP.NET Rou

2009-07-29 17:23:17

ASP.NET表單

2009-12-11 14:57:56

ASP.NET

2009-01-03 09:34:30

ASP.NET.NET性能優化

2009-08-03 17:35:07

ASP.NET WebASP.NET編程工具

2009-07-21 15:11:14

ASP.NET Rou

2009-07-29 09:53:24

ASP.NET異常管理

2009-07-24 13:39:03

ASP.NET彈出窗口
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩国产高清视频 | 在线成人免费视频 | 成人av网站在线观看 | 日韩精品一区二区三区中文在线 | 国产精品一区二区在线 | 欧美激情国产日韩精品一区18 | 欧美一级欧美一级在线播放 | 久久久www成人免费无遮挡大片 | 日韩不卡一区二区三区 | 夜夜爽99久久国产综合精品女不卡 | 亚洲国产专区 | 在线免费亚洲视频 | 麻豆hd| 欧美午夜精品 | 黄色在线观看国产 | av在线播放网 | 孰女乱色一区二区三区 | 中文字幕人成乱码在线观看 | 日日艹夜夜艹 | 91视频网| 成人性视频免费网站 | 蜜桃在线视频 | 91视频电影 | 男插女下体视频 | 中文字幕亚洲一区二区va在线 | 免费一区二区三区 | 欧美人人| 国产精品不卡一区 | 在线免费观看视频你懂的 | 亚洲一二三区在线观看 | 精品综合久久久 | 鲁视频| 颜色网站在线观看 | 亚洲人在线 | 一区视频 | 国产毛片视频 | 羞羞视频在线观免费观看 | 波多野结衣精品 | 中文字幕a√ | 精品久久久久久亚洲综合网站 | 国产一区二区三区久久久久久久久 |