SqlTransaction的解析

SqlTransaction的解析SqlTransaction类表示要在SQLServer数据库中处理的Transact-SQL事务。无法继承此类应用程序通过在SqlConnection对象上调用BeginTransaction来创建SqlTransaction对象。对SqlTransactio

大家好,又见面了,我是你们的朋友全栈君。 

SqlTransaction类表示要在SQL Server数据库中处理的Transact-SQL事务。无法继承此类

应用程序通过在SqlConnection 对象上调用BeginTransaction 来创建 SqlTransaction 对象。对 SqlTransaction 对象执行与该事务关联的所有后续操作(例如提交或中止该事务)。

注意:在提交或回滚 SqlTransaction 时,应始终使用 Try/Catch 进行异常处理。如果连接终止或事务已在服务器上回滚,则Commit  和Rollback 都会生成

InvalidOperationException

示例:

下面的示例创建一个 SqlConnection 和一个 SqlTransaction。此示例演示如何使用 BeginTransactionCommitRollback 等方法。出现任何错误时事务都会回滚。Try/Catch 错误处理用于处理尝试提交或回滚事务时的所有错误。

private static void ExecuteSqlTransaction(string connectionString)

{

    using (SqlConnection connection = new SqlConnection(connectionString))

    {

        connection.Open();

        SqlCommand command = connection.CreateCommand();

        SqlTransaction transaction;

        // Start a local transaction.

        transaction = connection.BeginTransaction(“SampleTransaction”);

        // Must assign both transaction object and connection

        // to Command object for a pending local transaction

        command.Connection = connection;

        command.Transaction = transaction;

        try

        {

            command.CommandText =

                “Insert into Region (RegionID, RegionDescription) VALUES (100, ‘Description’)”;

            command.ExecuteNonQuery();

            command.CommandText =

                “Insert into Region (RegionID, RegionDescription) VALUES (101, ‘Description’)”;

            command.ExecuteNonQuery();

 

            // Attempt to commit the transaction.

            transaction.Commit();

            Console.WriteLine(“Both records are written to database.”);

        }

        catch (Exception ex)

        {

            Console.WriteLine(“Commit Exception Type: {0}”, ex.GetType());

            Console.WriteLine(”  Message: {0}”, ex.Message);

 

            // Attempt to roll back the transaction.

            try

            {

                transaction.Rollback();

            }

            catch (Exception ex2)

            {

                // This catch block will handle any errors that may have occurred

                // on the server that would cause the rollback to fail, such as

                // a closed connection.

                Console.WriteLine(“Rollback Exception Type: {0}”, ex2.GetType());

                Console.WriteLine(”  Message: {0}”, ex2.Message);

            }

        }

    }

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132726.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于学习的名言_classnotdeffounderror

    关于学习的名言_classnotdeffounderror 现在java编程中经常碰到ClassCastException错误,ClassCastException是JVM在检测到两个类型间的转换不兼容时引发的运行时异常。此类错误通常会终止用户请求。本模式试图为您提供了解和排除ClassCastException错误最常见成因的一些基本要素。为什么发生此问题?在执行几乎任何子系统(Web容器、EJB、JCA、群集等)的应用程序代码或…

    2025年10月16日
    5
  • wsl2 固定ip_wsl2 ssh

    wsl2 固定ip_wsl2 ssh给win10下的wsl2设置固定ip地址

    2022年8月31日
    5
  • hduoj 1034「建议收藏」

    hduoj 1034「建议收藏」CandySharingGameTimeLimit:2000/1000MS(Java/Others)    MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):5890    AcceptedSubmission(s):3580ProblemDescriptionAnumberof

    2025年6月6日
    3
  • FC游戏 《三国志2-霸王的大陆》攻略「建议收藏」

    FC游戏 《三国志2-霸王的大陆》攻略「建议收藏」《三国志2-霸王的大陆》是日本南梦宫公司研发的一款历史战略模拟游戏,于1992年06月10日在红白机平台上发行。在开始游戏选择君主时(一定要在君主未出现前的画面时进行第二步),按住1P的START不要放,按住START同时,连续依次按上,下,左,右,按满3次,听到“乒”一下的声音后再开始游戏,这时再选君主:君主城金钱、兵马、宝等全满。一、武将1)武将出场时间189年-190…

    2025年8月19日
    3
  • SCI 投稿Cover letter模板大全「建议收藏」

    SCI 投稿Cover letter模板大全「建议收藏」“`一、第一次投稿Coverletter:主要任务是介绍文章主要创新以及声明没有一稿多投DearEditors,Wewouldliketosubmittheenclosedmanuscriptentitled“PaperTi…

    2022年4月30日
    56
  • 【模式识别】OpenCV中使用神经网络 CvANN_MLP

    【模式识别】OpenCV中使用神经网络 CvANN_MLPOpenCV的ml模块实现了人工神经网络(ArtificialNeuralNetworks,ANN)最典型的多层感知器(multi-layerperceptrons,MLP)模型。由于ml模型实现的算法都继承自统一的CvStatModel基类,其训练和预测的接口都是train(),predict(),非常简单。下面来看神经网络CvANN_MLP的使用~定义神经网络及参数:…

    2022年6月16日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号