private void button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(@"....连接字符串。。");
....
.....
try
{
conn.Open();
SqlTransaction sqltrans = conn.BeginTransaction();
....
数据操作
........
sqltrans.Commit();
MessageBox.Show("Transaction committed");
}
catch (System.Data.SqlClient.SqlException ex)
{
sqltrans.Rollback();//这个sqltrans上下文中不存在。什么原因 请教
....
.....
}
catch (System.Exception ex)
{
.......
}
finally
{
conn.Close();
}
}
多谢各位。我懂了。知道原因了
得 sqltrans 这个变量的声明放到 try外边
当然,你这个不用全部try catch,而且,考虑一下用using。。。
SqlTransaction sqltrans=null;可人这样声明在try外面先嘛
using(SqlConnection con=new ........)
{
////语句
}可以不用try