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

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

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


復(fù)制代碼 代碼如下:

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語句,實(shí)現(xiàn)數(shù)據(jù)庫事務(wù)。
        /// </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#如何修改項(xiàng)目名圖文詳解

    C#如何修改項(xiàng)目名圖文詳解

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

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

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

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

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

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

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

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

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

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

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

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

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

    .net 一些無法catch的異常

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

    C#更改tabControl選項(xiàng)卡顏色的方法

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

    C#的Excel導(dǎo)入、導(dǎo)出

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

最新評(píng)論

涞源县| 贡觉县| 中江县| 盱眙县| 壤塘县| 曲松县| 蓝山县| 南宫市| 资阳市| 延川县| 周至县| 探索| 林芝县| 平原县| 台前县| 常德市| 当涂县| 蒲江县| 三江| 平凉市| 亚东县| 公主岭市| 东城区| 霍邱县| 延川县| 若羌县| 永和县| 四平市| 三门县| 石泉县| 尼勒克县| 枣强县| 富裕县| 赤峰市| 康保县| 阳高县| 武乡县| 大安市| 板桥市| 荔波县| 色达县|