国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET里的事務(wù)處理_.Net教程

2024-07-10 12:50:08
字體:
供稿:網(wǎng)友

推薦:ASP.NET技巧:DataGrid傳統(tǒng)分頁方式
此分頁方式與傳統(tǒng)ASP分頁方式相仿。DataGridPage.aspx 以下為引用的內(nèi)容:<%@ Page language="c#" Codebehind="DataGridPage.asp

事務(wù)是一組組合成邏輯工作單元的數(shù)據(jù)庫操作,雖然系統(tǒng)中可能會出錯,但事務(wù)將控制和維護每個數(shù)據(jù)庫的一致性和完整性。如果在事務(wù)過程中沒有遇到錯誤,事務(wù)中的所有修改都將永久成為數(shù)據(jù)庫的一部分。如果遇到錯誤,則不會對數(shù)據(jù)庫作出任何修改。

例如,在一個銀行應(yīng)用程序中,如果資金從一個帳戶轉(zhuǎn)到另一個帳戶,則會將一定的金額記入一個帳戶的貸方,同時將相同的金額記入另一個帳戶的借方。由于計算機可能會因為停電、網(wǎng)絡(luò)中斷等原因而出現(xiàn)故障,所以有可能更新了一個表中的行,但沒有更新相關(guān)表中的行。如果數(shù)據(jù)庫支持事務(wù),則可以將數(shù)據(jù)庫操作組成一個事務(wù),以防止因這些事件而使數(shù)據(jù)庫出現(xiàn)不一致。

在 ADO.NET 中,可以使用 Connection 和 Transaction 對象來控制事務(wù)。若要執(zhí)行事務(wù),請執(zhí)行下列操作:

調(diào)用 Connection 對象的 BeginTransaction 方法來標(biāo)記事務(wù)的開始。BeginTransaction 返回對 Transaction 的引用。請保留此引用,以便將其分配給在事務(wù)中登記的 Command。

將 Transaction 對象分配給要執(zhí)行的 Command 的 Transaction 屬性。如果通過活動的 Transaction 對象對 Connection 執(zhí)行 Command,但該 Transaction 對象尚未分配給 Command 的 Transaction 屬性,則將引發(fā)異常。

執(zhí)行所需的命令。

調(diào)用 Transaction 對象的 Commit 方法來完成事務(wù),或調(diào)用 Rollback 方法來取消事務(wù)。

以下代碼示例使用 Microsoft? SQL Server? 上的 ADO.NET 來演示事務(wù)邏輯。

以下為引用的內(nèi)容:

SqlConnection myConnection = new SqlConnection("Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI;");
myConnection.Open;
// 啟動一個事務(wù)
SqlTransaction myTrans = myConnection.BeginTransaction;

// 為事務(wù)創(chuàng)建一個命令
SqlCommand myCommand = new SqlCommand;
myCommand.Connection=myConnection;
myCommand.Transaction = myTrans;
try
{
myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, "Description")";
myCommand.ExecuteNonQuery;
myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, "Description")";
myCommand.ExecuteNonQuery;
myTrans.Commit;
Console.WriteLine("Both records are written to database.");
}
catch(Exception e)
{
myTrans.Rollback;
Console.WriteLine(e.ToString);
Console.WriteLine("Neither record was written to database.");
}
finally
{
myConnection.Close;
}

分享:.NET環(huán)境下幾種不同的郵件發(fā)送解決方案
1、使用outLook提供的發(fā)送如:我見過的用友軟件U8生產(chǎn)制造(演示版),其中的郵件功能就是通過調(diào)用outLook的ActiveX 組件優(yōu)點:開發(fā)簡單缺點:依賴outlook組件,SMTP 郵件服務(wù)郵件發(fā)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 托克逊县| 外汇| 北流市| 宁津县| 湘潭市| 四子王旗| 泰安市| 兴国县| 民丰县| 牡丹江市| 巧家县| 康平县| 宜丰县| 寿光市| 宝鸡市| 巴楚县| 桂林市| 慈利县| 郎溪县| 安泽县| 温泉县| 安丘市| 榆树市| 昭通市| 辽阳县| 绥阳县| 建瓯市| 梁河县| 宕昌县| 怀来县| 德清县| 五原县| 大渡口区| 黔西| 微博| 盐边县| 高雄市| 大余县| 鹤壁市| 都昌县| 南召县|