C#执行多条SQL语句,实现数据库事务

public static void ExecuteSqlTran(ArrayList SQLStringList)
        {
           
using (SqlConnection conn = new SqlConnection(connectionString))
            {
                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);
                }
            }
        }

posted @ 2009-02-20 13:53  无很  阅读(1040)  评论(0编辑  收藏  举报