为了账号安全,请及时绑定邮箱和手机立即绑定

一个关于.Net Framework 的疑问

一个关于.Net Framework 的疑问

杨__羊羊 2018-12-06 19:21:24
先看代码  string connectionString = "Data Source=localhost;Initial Catalog=test;Persist Security Info=True;User ID=sa;Password=123456"; SqlConnection sqlConnection = new SqlConnection(connectionString); string strSQL = " insert into test1 values('1','a') "; SqlCommand command = new SqlCommand(strSQL, sqlConnection); sqlConnection.Open(); command.Transaction = command.Connection.BeginTransaction(); try {   command.ExecuteNonQuery();   command.Transaction.Commit(); } catch {   command.Transaction.Rollback(); } finally {   sqlConnection.Close(); } 其中SQL语句中的第二个字段插入了a,但是数据库是数字型的。造成command.ExecuteNonQuery()出错,进入catch块Rollback,这个时候我发现在catch中command.Transaction变成了null。使得我Rollback要出异常。但是我把第二个字段改成数字以后,但是长度超过我数据库的长度,发现Transaction就不会丢,能正常Rollback。求高手解答!
查看完整描述

3 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

是不是差个  catch (Exception e)
 

查看完整回答
反对 回复 2019-01-21
  • 3 回答
  • 0 关注
  • 373 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信