最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c#實現(xiàn)數(shù)據(jù)庫事務示例分享

 更新時間:2014年01月17日 11:11:43   作者:  
這篇文章主要介紹了c#執(zhí)行多條sql更新語句實現(xiàn)數(shù)據(jù)庫事務的示例,大家參考使用吧


復制代碼 代碼如下:

using System;
using System.Data.SqlClient;

namespace ExecuteSqlTran
{
    class Program
    {
        class Result<T>
        {
            public T data;
            public string Message;
            public bool Success;
            public string StackTrace;
        }

        struct ExecuteableUnit
        {
            public string SQL;
            public SqlParameter[] param;
        }

        /// <summary>
        /// 執(zhí)行多條SQL語句,實現(xiàn)數(shù)據(jù)庫事務。
        /// </summary>
        /// <param name="SQLStringList">SQL語句的哈希表(key為sql語句,value是該語句的SqlParameter[])</param>
        private static Result<int> ExecuteSqlTransaction(params ExecuteableUnit[] executeableUnits)
        {
            using (SqlConnection connection = new SqlConnection(""))
            {
                connection.Open();
                SqlCommand command = connection.CreateCommand();
                SqlTransaction transaction = connection.BeginTransaction();
                command.Connection = connection;
                command.Transaction = transaction;
                int result = 0;
                try
                {
                    foreach(ExecuteableUnit exeUnit in executeableUnits)
                    {
                        command.CommandText = exeUnit.SQL;
                        if(exeUnit.param.GetLength(1) > 0)
                        {
                            foreach(SqlParameter p in exeUnit.param)
                                command.Parameters.Add(p);
                        }
                        result += command.ExecuteNonQuery();
                    }
                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    // Attempt to roll back the transaction.
                    try
                    {
                        transaction.Rollback();
                    }
                    catch (Exception ex2)
                    {
                        return new Result<int>()
                        {
                            Success = false, Message = ex2.Message, StackTrace = ex2.StackTrace
                        };
                    }
                    return new Result<int>()
                    {
                        Success = false, Message = ex.Message, StackTrace = ex.StackTrace
                    };
                }
                finally
                {
                    // Attempt to roll back the transaction.
                    try
                    {
                  connection.Close();
                    }
                    catch (Exception ex)
                    {
                    }
                }
                return new Result<int>()
                {
                    Success = true, data = result
                };
            }
        }

        public static void Main(string[] args)
        {
        }
    }
}

相關(guān)文章

  • C#如何修改項目名圖文詳解

    C#如何修改項目名圖文詳解

    最近開發(fā)工作接近尾聲,客戶來要求更換項目的名稱,差不多要變更整個解決方案中項目名稱,引用等等,這個工作量還是很大的,這篇文章主要給大家介紹了關(guān)于C#如何修改項目名的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • C#文件流讀寫和進度回調(diào)示例詳解

    C#文件流讀寫和進度回調(diào)示例詳解

    這篇文章主要給大家介紹了關(guān)于C#文件流讀寫和進度回調(diào)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-03-03
  • C#實現(xiàn)文件Move和Copy操作

    C#實現(xiàn)文件Move和Copy操作

    這篇文章介紹了C#實現(xiàn)文件Move和Copy操作的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C#版免費離線人臉識別之虹軟ArcSoft?V3.0(推薦)

    C#版免費離線人臉識別之虹軟ArcSoft?V3.0(推薦)

    本文只是簡單介紹了如何使用虹軟的離線SDK,進行人臉識別的方法,并且是圖片的方式,本地離線識別最大的好處就是沒有延遲,識別結(jié)果立馬呈現(xiàn),對C#離線人臉識別虹軟相關(guān)知識感興趣的朋友一起看看吧
    2021-12-12
  • C#實現(xiàn)終止正在執(zhí)行的線程

    C#實現(xiàn)終止正在執(zhí)行的線程

    這篇文章主要介紹了C#實現(xiàn)終止正在執(zhí)行的線程的方法,針對臨界資源等容易出現(xiàn)錯誤的地方進行了分析,并提出了改進方案與實例,需要的朋友可以參考下
    2014-09-09
  • Unity3D開發(fā)教程:憤怒的小鳥

    Unity3D開發(fā)教程:憤怒的小鳥

    這篇文章詳細的講解了如何從0開發(fā)出一個Unity3D的小游戲憤怒的小鳥,本文包含大量的圖片與文字描述,也含有大量的源代碼,可以讓你快速入手,希望本篇文章對你有所幫助
    2021-06-06
  • C#數(shù)據(jù)庫操作的示例詳解

    C#數(shù)據(jù)庫操作的示例詳解

    這篇文章主要通過一些示例為大家詳細介紹了C#中數(shù)據(jù)庫操作用法,文中的示例代碼講解詳細,具有有一定的借鑒價值,需要的可以參考一下
    2022-07-07
  • .net 一些無法catch的異常

    .net 一些無法catch的異常

    .net 一些無法catch的異常,需要的朋友可以參考一下
    2013-04-04
  • C#更改tabControl選項卡顏色的方法

    C#更改tabControl選項卡顏色的方法

    這篇文章主要介紹了C#更改tabControl選項卡顏色的方法,結(jié)合實例形式較為詳細的分析了C#更改tabControl選項卡顏色的的具體步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2016-03-03
  • C#的Excel導入、導出

    C#的Excel導入、導出

    這篇文章主要為大家詳細介紹了C#的Excel導入、導出的相關(guān)資料,需要的朋友可以參考下
    2016-05-05

最新評論

龙门县| 渝北区| 郯城县| 龙泉市| 巴里| 柳河县| 平果县| 集贤县| 潮安县| 高邑县| 福建省| 邛崃市| 景泰县| 靖宇县| 康平县| 鄢陵县| 鲁山县| 舟山市| 乾安县| 衡水市| 武强县| 甘德县| 三亚市| 新田县| 福清市| 泰州市| 合水县| 儋州市| 鄂托克前旗| 云和县| 北川| 武冈市| 清苑县| 旺苍县| 托克托县| 元氏县| 太和县| 富宁县| 华安县| 万盛区| 泸溪县|