怎样判断一个SqlTransaction能否被rollback和commit?

// 打开连接
conn.Open();

// 事务处理开始
trans = conn.BeginTransaction();

command = new SqlCommand(sql, conn);
command.CommandType = CommandType.Text;
command.Transaction = trans;

trans.rollback(); // 在执行command.ExecuteNonQuery()前这里会出错

一个SqlTransaction未执行任何操作前rollback或commit会报错(此 SqlTransaction 已完成;它再也无法使用。),怎么判断是否能rollback或commit?好像SqlTransaction没有相应的属性。

这样,
try
{
......
trans.commit()
}
catch
{trans.rollback(); } 

你可能感兴趣的:(怎样判断一个SqlTransaction能否被rollback和commit?)