一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

事務(wù) Transaction

 java-jane 2012-04-04

如果需要一次性處理多條SQL語句,可以使用SQL中的事務(wù),下面就將為您講解SQL中事務(wù)的寫法以及調(diào)用的方法,供您參考。

AD:

下面就將為您介紹如何使用事務(wù)一次處理多條SQL語句的方法,包括SQL中事務(wù)的寫法以及調(diào)用的方法供您參考,希望對(duì)您學(xué)習(xí)SQL語句的執(zhí)行能夠有所幫助。

執(zhí)行一個(gè)操作時(shí),要同時(shí)修改多張表里的數(shù)據(jù),并且每條數(shù)據(jù)都必須操作成功,才算執(zhí)行成功,為了防止有些數(shù)據(jù)操作失敗,有些成功,而造成的數(shù)據(jù)錯(cuò)亂,我們要使用事務(wù)。

事務(wù)就是:只有所有操作都成功則成功,只要有一條數(shù)據(jù)操作失敗,則回滾。

后臺(tái)寫事務(wù):

        /// <summary>
        /// 執(zhí)行多條SQL語句,實(shí)現(xiàn)數(shù)據(jù)庫(kù)事務(wù)。
       /// </summary> access數(shù)據(jù)庫(kù)
       /// <param name="SQLStringList">多條SQL語句</param>  
        public static void ExecuteSqlTran(List<string> SQLStringList)
        {
            using (OleDbConnection conn = new OleDbConnection(SqlHelper.ConString))
            {
                conn.Open();
                OleDbCommand cmd = new OleDbCommand();
                cmd.Connection = conn;
                OleDbTransaction tx = conn.BeginTransaction();
                cmd.Transaction = tx;
                try
                {
                    for (int n = 0; n < SQLStringList.Count; n++)
                    {
                        string strsql = SQLStringList[n].ToString();
                        if (strsql.Trim().Length > 1)
                        {
                            cmd.CommandText = strsql;
                            cmd.ExecuteNonQuery();
                        }
                    }
                    tx.Commit();
                }
                catch (System.Data.OleDb.OleDbException E)
                {
                    tx.Rollback();
                    throw new Exception(E.Message);
                }
            }
        }

        /// <summary>
        /// 執(zhí)行多條SQL語句,實(shí)現(xiàn)數(shù)據(jù)庫(kù)事務(wù)。
        /// </summary>sql2000數(shù)據(jù)庫(kù)
        /// <param name="SQLStringList">多條SQL語句</param>
        public static void ExecuteSqlTran(List<string> SQLStringList)
        {
            using (SqlConnection conn = new SqlConnection(SqlHelper.ConString))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conn;
                SqlTransaction tx = conn.BeginTransaction();
                cmd.Transaction = tx;
                try
                {
                    for (int n = 0; n < SQLStringList.Count; n++)
                    {
                        string strsql = SQLStringList[n].ToString();
                        if (strsql.Trim().Length > 1)
                        {
                            cmd.CommandText = strsql;
                            cmd.ExecuteNonQuery();
                        }
                    }
                    tx.Commit();
                }
                catch (System.Data.SqlClient.SqlException E)
                {
                    tx.Rollback();
                    throw new Exception(E.Message);
                }
            }
        }

前臺(tái)調(diào)用:

try
{
    //1.查出會(huì)員余額
    decimal usermoney = SqlDal.EntityUserinfo.GetModel(int.Parse(cookieUserID)).Money;
    //2.修改余額
    decimal Zmoney = usermoney + moAD.Commission;
    //寫SQL語句
    List<string> SQLStringList = new List<string>();
    string clickSql = "insert into [user] (name,age)values('" + 小名 + "','“+4歲+”')";
    string userSql = "update [class] set [name]='" + 幼兒園 + "' where id=" + 2 + " ";
    SQLStringList.Add(clickSql);
    SQLStringList.Add(userSql);
    SqlDal.SqlHelper.ExecuteSqlTran(SQLStringList);

    //數(shù)據(jù)庫(kù)操作成功
    //提示
    CommonClass.Xmls xmls1 = new CommonClass.Xmls();
    string path1 = CommonClass.Unit.GetMapPath(@"/Admin/Configs/SysSettingInfo.config");
    string ClickTishi = xmls1.GetXmlNode(path1, "SysSettingInfo/ClickTishi");
    //替換字符
    ClickTishi = ClickTishi.Replace("[$]", moAD.Commission.ToString("0.00"));
    context.Response.Write(ClickTishi); //輸出
}
catch (Exception ex)
{
    //Response.Write(ex.Message);
    context.Response.Write("操作失?。? + ex.Message); //輸出
}

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    欧美中文字幕一区在线 | 国产黄色高清内射熟女视频| 欧美日韩有码一二三区| 日韩一区二区免费在线观看| 中文字幕无线码一区欧美| 人妻内射精品一区二区| 微拍一区二区三区福利| 国产超碰在线观看免费| 国产综合香蕉五月婷在线| 久久热麻豆国产精品视频 | 黄色av尤物白丝在线播放网址| 美女激情免费在线观看| 亚洲国产色婷婷久久精品| 老熟女露脸一二三四区| 日韩偷拍精品一区二区三区| 亚洲午夜av久久久精品| 欧美成人精品国产成人综合| 国产香蕉国产精品偷在线观看| 中文字幕亚洲视频一区二区| 免费在线播放一区二区| 老鸭窝精彩从这里蔓延| 国产在线观看不卡一区二区| 国产精品熟女在线视频| 亚洲性生活一区二区三区| 午夜国产精品福利在线观看| 老司机精品福利视频在线播放| 国产色第一区不卡高清| 亚洲欧美日韩在线看片| 激情少妇一区二区三区| 亚洲一级在线免费观看| 中国黄色色片色哟哟哟哟哟哟| 日韩高清中文字幕亚洲| 欧美小黄片在线一级观看| 黄色片一区二区三区高清| 欧美老太太性生活大片| 91精品国自产拍老熟女露脸| 国产人妻精品区一区二区三区| 好吊视频有精品永久免费 | 中文字字幕在线中文乱码二区| 日本黄色高清视频久久| 欧美韩国日本精品在线|