sdxiong 2012年11月26日
TableAdapter.Update时出错Rollback了,但RowState却已变成Unchange
一个Master-Detail的Form,Detail有两条明细记录,
保存明细时 第一条记录成功保存,并且RowState自动变成了NoChange,
第二条记录不符合数据库的要求,整体Rollback了,

修正第二条记录并重新提交,因第一条记录的RowState已变成NoChange,所以第一条记录没有被提交。
刷新后,该Form就只有一条记录了。。。

请问这个问题,应该怎么处理??保存的代码如下:

		SqlConnection conn = new SqlConnection(t_订单TableAdapter.Connection.ConnectionString);
conn.Open();
SqlTransaction trans = conn.BeginTransaction();

t_订单TableAdapter.Connection = conn;
t_订单TableAdapter.Transaction = trans;

t_订单明细TableAdapter.Connection = conn;
t_订单明细TableAdapter.Transaction = trans;

try
{
t_订单TableAdapter.Update(sq_tbsDataSet.t_订单);
t_订单明细TableAdapter.Update(sq_tbsDataSet.t_订单明细);
}
catch (Exception ex)
{
trans.Rollback();
conn.Close();

MessageBox.Show("记录时出现错误", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return false;
}

trans.Commit();
conn.Close();

MessageBox.Show("记录已经成功保存", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return true;
...全文
106 点赞 收藏 1
写回复
1 条回复

还没有回复,快来抢沙发~

发动态
发帖子
C#
创建于2007-09-28

8.4w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告