我用文本框绑定了dataset,想实现更改文本框中显示的内容,同时也更改了数据库的内容。
我在“更改”按钮的代码中是这样写的:
this.sqlDataAdapter1.Update(ds1.预约表);
结果只是改了dataset中的数据,并没有改变数据库中的内容。
后来我在前面又加了一句
this.BindingContext[this.ds1,"预约表"].Position++;
发现可以了。很是不解,请教!

解决方案 »

  1.   

    给对应的DataTable或DataRowView加个EndEdit();然后再Update。直到EndEdit时,才给内存中数据库副本标上[已更改(Added, Modified, Deleted]的标志,然后Update时才能确定那些更改的行,以更新数据库相应行。至于this.BindingContext[this.ds1,"预约表"].Position++;
    我个人理解,是不是BindingManagerBase移动时,自动执行EndEdit()呢?(没根据,只是猜测)