/// <summary>
        
/// 执行多条SQL语句,实现数据库事务。
        
/// </summary>
        
/// <param name="SQLStringList">SQL语句的哈希表(key为sql语句,value是该语句的SqlParameter[])</param>

        public static void ExecuteSqlTran(Hashtable SQLStringList)
        
{            
            
using (SqlConnection conn = new SqlConnection(ConnectionString1))
            
{
                conn.Open();
                
using (SqlTransaction trans = conn.BeginTransaction()) 
                
{
                    SqlCommand cmd 
= new SqlCommand();
                    
try 
                    
{
                        
//循环
                        foreach (DictionaryEntry myDE in SQLStringList)
                        
{    
                            
string     cmdText=myDE.Key.ToString();
                            SqlParameter[] cmdParms
=(SqlParameter[])myDE.Value;
                            PrepareCommand(cmd,conn,trans,cmdText, cmdParms);
                            
int val = cmd.ExecuteNonQuery();
                            cmd.Parameters.Clear();

                            trans.Commit();
                        }
                    
                    }

                    
catch 
                    
{
                        trans.Rollback();
                        
throw;
                    }

                }
                
            }

        }
posted on 2007-09-26 09:29  小角色  阅读(578)  评论(0)    收藏  举报