zoukankan      html  css  js  c++  java
  • .NET 使用事物调用存储过程

    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Data;
    using System.Data.Common;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace PricipalPractice
    {
       public static class SqlHelper
        {
            //根据config配置文件中提供程序,获取数据库连接对象
            //private static DbConnection GetDataBaseConnection(string databaseName)
            //{
            //    ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings[databaseName];
            //    DbProviderFactory factory = DbProviderFactories.GetFactory(settings.ProviderName);
            //    DbConnection conn = factory.CreateConnection();
            //    conn.ConnectionString = settings.ConnectionString;
            //    return conn;
            //}
    
            //事物的使用,调用存储过程,无返回值
            private static void ExecuteTransaction()
            {
                string dataBaseName = "databaseName";
                using (SqlConnection con = GetDataBaseConnection(dataBaseName))
                {
                    con.Open();
                    using (SqlCommand command = con.CreateCommand())
                    {
                        SqlTransaction st = con.BeginTransaction();
                        command.Transaction = st;
                        try
                        {
                            command.CommandText = "storeName";
                            command.CommandType = CommandType.StoredProcedure;
                            command.Parameters.Add(new SqlParameter("@param", "value"));
                            command.ExecuteNonQuery();
                            st.Commit();
                        }
                        catch (Exception ex)
                        {
                            st.Rollback();
                            throw new Exception(ex.Message);
                        }
                    }
                    con.Close();
    
                }
    
            }
    
            private static SqlConnection GetDataBaseConnection(string databaseName)
            {
                ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings[databaseName];
                return new SqlConnection(settings.ConnectionString);
            }
        }
    }
  • 相关阅读:
    如何计算时间复杂度
    注意线程
    java中一个类要当作线程来使用有两种方法
    压缩和解压
    init [0123456]
    linux文件目录
    为什么使用combiner?【Hadoop】
    JAVA标识符
    关键字:java
    转 java 中int String类型转换
  • 原文地址:https://www.cnblogs.com/mibing/p/8043858.html
Copyright © 2011-2022 走看看