在保存的时候,需要先读取当前状态,如果读取的状态是更改过的,那么就提交保存,否则就提示“没有任何改动,不需要保存”。下面是我的代码myCurrencyManager.EndCurrentEdit();
if (this.ds.GetChanges() != null)
{
try
{
this.link.UpdateDataBase(ds,TableName);
SetModifyMode(false);
myDT.AcceptChanges();
MessageBox.Show("保存成功!","保存提示");
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
ds.RejectChanges();
}
}但是,当执行的时候,我只改动一次datagrid的时候,this.ds.GetChanges() 执行结果是null,无法执行try内部的代码;但是更改两个数据,就可以进入try内部的编码。请问这是为什么?
if (this.ds.GetChanges() != null)
{
try
{
this.link.UpdateDataBase(ds,TableName);
SetModifyMode(false);
myDT.AcceptChanges();
MessageBox.Show("保存成功!","保存提示");
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString(),"提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
ds.RejectChanges();
}
}但是,当执行的时候,我只改动一次datagrid的时候,this.ds.GetChanges() 执行结果是null,无法执行try内部的代码;但是更改两个数据,就可以进入try内部的编码。请问这是为什么?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货