C# – SqlTransaction 方法

 
C# – SqlTransaction 方法
 

 
   using System;
   using System.Collections.Generic;
   using System.Data.SqlClient;
 
   namespace ProductIntegration
   {
      class Program
      {
         static void Main(string[] args)
         {
            try
            {
 
               List<String> SqlStatement = new List<String>();
 
               SqlStatement.Add("INSERT INTO [dbo].[Product] ([Product_Name]) VALUES ('Product 1')");
               SqlStatement.Add("INSERT INTO [dbo].[Product] ([Product_Name]) VALUES ('Product 2')");
               SqlStatement.Add("INSERT INTO [dbo].[Product] ([Product_Name]) VALUES ('Product 3')");
               SqlStatement.Add("INSERT INTO [dbo].[Product] ([Product_Name]) VALUES ('Product 4')");
 
               runTransaction(SqlStatement);
 
            }catch(Exception ex){
               Console.WriteLine("Error : " + ex.Message);
            }
 
            Console.ReadLine();
 
         }
 
         private static void runTransaction(List<String> SqlStatementColl)
         {
 
            String ConnectionString = "Data Source=VMSER001;Initial Catalog=Stock;User ID=sa;Password=P@ssw0rd";
            SqlConnection conn = new SqlConnection(ConnectionString);
            conn.Open();
 
            String SQLStatement = "";
            SqlCommand cmd = null;
            SqlTransaction transaction = null;
 
            mssql_transaction = conn.BeginTransaction();
 
            foreach(String SqlStatement in SqlStatementColl){
               cmd = new SqlCommand(SqlStatement, conn, transaction);
               cmd.ExecuteNonQuery();
            }
 
            transaction.Commit();
 
            conn.Dispose();
            cmd.Dispose();
            conn.Close();
 
         }
      }
   }