在以下的一个方法中涉及到了ArrayList 类的参数
/// <summary>
/// 执行多条SQL语句,实现数据库事务。
/// </summary>
/// <param name="SQLStringList">多条SQL语句</param>
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;//为将要执行的SqlCommand对象获取或者设置SqlTransaction (Transact-SQL事务)
try
{
for(int n=0;n<SQLStringList.Count;n++)
{
string strsql=SQLStringList[n].ToString();
if (strsql.Trim().Length>1)
{
cmd.CommandText=strsql;
cmd.ExecuteNonQuery();//遍历以执行动态数组中的sql语句
}
}
tx.Commit();//提交数据库事务
}
catch(System.Data.SqlClient.SqlException E)
{
tx.Rollback();//从挂起状态回滚事务,并指定事务或者保存点名称
throw new Exception(E.Message);
}
}
}
/// <summary>
/// 执行多条SQL语句,实现数据库事务。
/// </summary>
/// <param name="SQLStringList">多条SQL语句</param>
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;//为将要执行的SqlCommand对象获取或者设置SqlTransaction (Transact-SQL事务)
try
{
for(int n=0;n<SQLStringList.Count;n++)
{
string strsql=SQLStringList[n].ToString();
if (strsql.Trim().Length>1)
{
cmd.CommandText=strsql;
cmd.ExecuteNonQuery();//遍历以执行动态数组中的sql语句
}
}
tx.Commit();//提交数据库事务
}
catch(System.Data.SqlClient.SqlException E)
{
tx.Rollback();//从挂起状态回滚事务,并指定事务或者保存点名称
throw new Exception(E.Message);
}
}
}
ArrayList 类和Array类的区别
ArrayList是数组类的复杂版本。ArrayList类提供在大多数Collections类中提供但不在Array类中提供的一些功能。
主要有以下几点:
1》Array位于system命名空间中,而ArrayList位于system.collections命名空间中。
2》Array的容量是固定的,而ArrayList的容量是根据需要自动扩展的。如果更改了arraylist.capacity属性的值,则自动进行内存重新分配额元素复制。
3》ArrayList提供添加,插入或移除某一范围元素的方法。在Array中,只能一次获取或设置一个元素的值。
4》使用Synchronized方法可以很容易地创建arraylist的同步版本。而array将一直保持它直到用户实现同步为止。
5》ArrayList提供将只读和固定大小包装返回到集合的方法,而array不提供。
6》另一方面,array提供arraylist所不具有的某些灵活性。
7》可以设置array的下限,但arraylist的下限始终为零。
8》array可以具有多个维度,而arraylist始终只是一维的
9》特定类型的array具有比arraylist更好的性能,则是因为arraylist的元素属于object类型,所以在存储或检索值类型时通常发生装箱和取消装箱