我在对textbox进行数据绑定后,对数据的修改无法写回数据库:
//数据绑定
tb1.DataBindings.Add("Text",ds,"mytable.colunm1"); //更新
DataSet changesDataSet = ds.GetChanges(DataRowState.Added | DataRowState.Modified);if(changesDataSet != null)
da.Update(changesDataSet );在数据绑定后,数据可以显示在textbox(tb1)中,当我修改这个数据后,ds中的确也变成了我修改后的值,但是changesDataSet却是空的,因此就没法把我的修改写回数据库。
我把数据绑定到datagrid然后在datagrid做修改的话,changesDataSet就不为空。
请问这是为什么,我该怎么修改代码?谢谢各位
//数据绑定
tb1.DataBindings.Add("Text",ds,"mytable.colunm1"); //更新
DataSet changesDataSet = ds.GetChanges(DataRowState.Added | DataRowState.Modified);if(changesDataSet != null)
da.Update(changesDataSet );在数据绑定后,数据可以显示在textbox(tb1)中,当我修改这个数据后,ds中的确也变成了我修改后的值,但是changesDataSet却是空的,因此就没法把我的修改写回数据库。
我把数据绑定到datagrid然后在datagrid做修改的话,changesDataSet就不为空。
请问这是为什么,我该怎么修改代码?谢谢各位
这个我想你应该没有调用过,2。还有一种可能是,你可能是在编辑TextBox里的数据后点击保存按钮,那需要在
按钮处理程序加一条条当前编辑状态的提交才会把TextBox的新数据写到DataSet.
类似代码如下:
// 停止当前的任何编辑。
this.BindingContext[objMyDataSet,"Categories"].EndCurrentEdit();
this.BindingContext[objMyDataSet,"Products"].EndCurrentEdit();具体可以看文章,
http://blog.csdn.net/zhzuo/archive/2005/01/03/238273.aspx
this.BindingContext[objMyDataSet,"Products"].CancelCurrentEdit();
这句应该是指对数据的更改被拒绝,但是我用的时候,第一次点击“取消”按钮时数据还是被更改了,从第二次起更改才被拒绝,请问这是为什么?谢谢