C#事务的问题?
C#:
try
{
cmdInsert = new SqlCommand(strInsertSQL, conn);
trans = conn.BeginTransaction(); // 开始事务
cmdInsert.Transaction = trans; // 将事务与SqlCommand关联
for(int i=0; i<ds.Tables[0].Rows.Count; i++)
{
DataRow row = ds.Tables[0].Rows[i];
*************************************************
SqlParameter[] paramArray = getParamArray(row);
cmdInsert.Parameters.Clear();
for (int j=0; j<paramArray.Length; j++)
{
cmdInsert.Parameters.Add(paramArray[j]);
}
cmdInsert.ExecuteNonQuery();
}
trans.Commit(); // 提交事务
}
catch(Exception ex)
{
trans.Rollback();
}
在***的一行加 SQLDATAREADER 读取同一CONNECTION的数据库信息进行比较;执行错误;
不加****,执行没问题,
是不是开始事务后;连接就锁定了,一直到事务结束。(中间如果我还想用同一连接取数据库的信息,循环比较,怎么做啊?)