有谁知道为什么这段代码不起作用?在主窗体上我有保存功能,但每当我点击保存按钮消息“没有要保存的东西”。
public void spremiIzmjene()
{
try
{
this.bindingNavigator1.BindingSource.EndEdit();
DataSet imaPromjene = this.dimproDataSet.GetChanges();
if (imaPromjene != null)
{
int brojRedova = this.op_kontaktTableAdapter.Update(dimproDataSet.op_kontakt);
MessageBox.Show("Izmjene spremljene: " + brojRedova + " red dodan.", "Uspjeh");
this.dimproDataSet.AcceptChanges();
this.dimproDataSet.Clear();
this.op_kontaktTableAdapter.Fill(dimproDataSet.op_kontakt);
}
else
{
MessageBox.Show("Nothing to save", "No changes");
}
}
catch (Exception ex)
{
// msg
this.dimproDataSet.RejectChanges();
}
}
我从插入表单中调用此函数。 问题:我需要打开插入表单,输入数据到字段,关闭表单(但不写入数据库,只保留数据集更改),然后在主窗体上的表单关闭事件调用spremiIzmjene()。但每当我调用该函数dataset.HasChanges返回false
感谢
答案 0 :(得分:1)
AcceptChanges
。简而言之,当修改位于DataTable
的{{1}}中的数据时,您希望进行这些修改,但不要调用DataSet
,因为这会更改AcceptChanges
到RowState
。