自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ASP.NET事務(wù)相關(guān)技巧介紹說明

開發(fā) 后端
ASP.NET事務(wù)登錄名與數(shù)據(jù)庫(kù)用戶名不同。您必須通過單獨(dú)的操作將登錄或 Windows 組映射到數(shù)據(jù)庫(kù)用戶或角色。然后向用戶或角色授予訪問數(shù)據(jù)庫(kù)對(duì)象的權(quán)限。

希望我對(duì)ASP.NET事務(wù)一點(diǎn)經(jīng)驗(yàn)?zāi)芙o大家?guī)韼椭?,?dǎo)致WebDeployment出錯(cuò)的原因也許還有很多,不過在你遇到錯(cuò)誤時(shí),可以先檢查一下你程序中的字符串,暫時(shí)把他們置為””,試試看。沒準(zhǔn)就是他引起的問題啊。

創(chuàng)建一個(gè)ADO.NET事務(wù)是很簡(jiǎn)單的,僅僅是標(biāo)準(zhǔn)代碼的一個(gè)小的擴(kuò)展。ASP.NET事務(wù)只要你知道如何使用ADO.NET來訪問數(shù)據(jù)庫(kù),那就差不多知道了。區(qū)別僅僅是你需要把代碼放到一個(gè)事務(wù)上下文中。

還是原來的ADO.NET類庫(kù)引用,在實(shí)現(xiàn)事務(wù)的類裏面引入System.Data和System.Data.SqlClient類庫(kù),為了執(zhí)行一個(gè)事 務(wù),你需要?jiǎng)?chuàng)建一個(gè)SqlTransation對(duì)象,可以調(diào)用你的SqlConnection對(duì)象BeginTransation()方法來創(chuàng)建它,一旦 你把SqlTransation對(duì)象存為本地變數(shù),ASP.NET事務(wù)你就可以把它賦給你的SqlCommand對(duì)象的事務(wù)屬性,或者把它作為構(gòu)

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

ADO.NET事務(wù)實(shí)際上是把事務(wù)上下文傳遞到數(shù)據(jù)庫(kù)層,如果事務(wù)中發(fā)生一個(gè)錯(cuò)誤,ASP.NET事務(wù)庫(kù)會(huì)自動(dòng)回滾。在你的錯(cuò)誤處理代碼中,每次調(diào)用Rollback ()方法之前檢查事務(wù)對(duì)像是否存在是一種良好的習(xí)慣。這樣的一個(gè)例子是當(dāng)一個(gè)死鎖發(fā)生的同時(shí),數(shù)據(jù)庫(kù)正在執(zhí)行自動(dòng)回滾。優(yōu)勢(shì):

◆ 簡(jiǎn)單性
◆ 和數(shù)據(jù)庫(kù)事務(wù)差不多的快
◆ 事務(wù)可以跨越多個(gè)數(shù)據(jù)庫(kù)訪問
◆ 獨(dú)立於數(shù)據(jù)庫(kù),不同數(shù)據(jù)庫(kù)的專有代碼被隱藏了

限制:

事務(wù)執(zhí)行在數(shù)據(jù)庫(kù)ASP.NET事務(wù)上,所以你需要在事務(wù)過程中手動(dòng)的維護(hù)一個(gè)連接

例子:

  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事務(wù)可以說是在.Net平臺(tái)上事務(wù)實(shí)現(xiàn)方式中最簡(jiǎn)單的一種,你僅僅需要加一行代碼。在ASPX的頁(yè)面聲明中加一個(gè)額外的屬性,即是事務(wù)屬 性,它可以有 如下的值:Disabled (缺省), NotSupported, Supported, Required 和 RequiresNew,這些設(shè)置和COM+以及企業(yè)級(jí)服務(wù)中的設(shè)置一樣,ASP.NET事務(wù)典型地如果你想在頁(yè)面上下文中運(yùn)行事務(wù),那麼要設(shè)置為Required。如果頁(yè) 面中包含有用戶控件,那麼這些控件也會(huì)包含到事務(wù)中,事務(wù)會(huì)存在於頁(yè)面的每個(gè)地方。

責(zé)任編輯:chenqingxiang 來源: 計(jì)世網(wǎng)
相關(guān)推薦

2009-12-22 15:28:45

ASP.NET AJA

2011-07-06 11:15:09

ASP.NET

2009-08-19 09:23:40

ASP.NET Rou

2009-07-22 16:05:34

ASP.NET AJA

2009-07-29 17:23:17

ASP.NET表單

2009-07-24 12:14:17

asp.net技巧

2009-07-29 10:02:49

ASP.NET上傳

2009-07-29 09:14:36

ASP.NET網(wǎng)站

2009-07-21 10:40:36

ASP.NET Pro

2009-07-29 17:26:39

ASP.NET頁(yè)面

2009-07-23 14:17:41

2009-09-10 14:02:08

LINQ ASP.NE

2009-07-20 16:12:21

ASP.NET Fra

2009-07-27 17:00:29

ASP.NET主機(jī)

2009-12-11 14:57:56

ASP.NET

2009-08-03 17:35:07

ASP.NET WebASP.NET編程工具

2009-01-03 09:34:30

ASP.NET.NET性能優(yōu)化

2009-07-29 10:35:51

ASP.NET緩存

2009-08-05 15:57:03

ASP.NET控件ID

2009-08-05 10:36:08

開發(fā)ASP.NET
點(diǎn)贊
收藏

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