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(); } } } |