int index=this.dataGrid1.CurrentCell.RowNumber;this.datasetTxl.Tables["txl"].Rows[index].Delete();DataSet changes = this.datasetTxl.GetChanges();try
{
this.adapTxl.Update(changes);
this.datasetTxl.AcceptChanges();
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
{
this.adapTxl.Update(changes);
this.datasetTxl.AcceptChanges();
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
CurrencyManager cm;
cm = (CurrencyManager) dataGrid1.Parent.BindingContext[dataGrid1.DataSource, dataGrid1.DataMember];
if (cm.Count > 0)
{
cm.RemoveAt(cm.Position);
}
我的程序不报错,就是执行update后不向数据库修改!
想删除的项没有删!
各位大侠救救我吧!快不行了!
this.adapTxl.Update(this.datasetTxl,"txl");
问题就在你先AcceptChange,那么DataTable中所有的DataRow的RowState都
变成unchanged,所以,update方法就什么也不执行了,建议你看看帮助中
Adpater的更新过程(针对不同的RowState执行不同的操作)
你去掉AcceptChanges就可以执行更新了,而且更新后自动调用AcceptChange。