事务问题,如何在事务中更新数据后读取数据
刚学C#,想在一个事务中按条件更新一些表记录,更新完后读出数据做些其他动作,不知道怎么处理,下面代码老是报错
public bool delMail(byte vtype, string vidlist)
{
string sql = "";
bool rt = false;
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
conn.Open();
SqlTransaction tran = conn.BeginTransaction(IsolationLevel.ReadCommitted);
cmd.Transaction = tran;
cmd.CommandTimeout = 2000;
try
{
sql = "update t_mail set fsenddel=1 where fitemid in (" + vidlist + ")";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
sql = "select * from t_mail where fsenddel=1 and factdel=1 and fhasannex=1 and fitemid in (" + vidlist + ")";
SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
adapter.Fill(ds);
foreach (DataRow row in ds.Tables[0].Rows)
{
string ss =row["fannex"].ToString();
//删除该路径文件
}
tran.Commit();
rt = true;
}
catch(Exception ex)
{
tran.Rollback();
SystemError.SystemLog(ex.Message);
throw new SystemException("1003", ex.Message, ex);
}
finally
{
conn.Close();
}
return rt;
}