VB   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了[VB.NET]ADO.NET的Update问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
ADO.NET的update问题 今天看着教程用VB做了一个Windows Form程序,运行一切正常,还可以进行添加、修改,但无法把修改写入数据库,原来用C#写程序时也遇见过同样的问题,不知有那位兄弟在类似经历。 程序读的是SQL SERVER自带的Pubs数据库,读取Stores和SALEs两个表,用了两个DATAADAPTER:StoresTableAdapter和SALEsTableAdapter1,dataAdapter用Fill方法填充数据集:PubsDataSet,填充的代码如下: Me.StoresTableAdapter.Fill(Me.PubsDataSet.stores) Me.salesTableAdapter1.Fill(Me.PubsDataSet.SALEs) 然后用Bindingsource对数据进行管理,更改与添加的过程一切正常,下面是我updateAll的代码部分: Private Sub updateAll() ''bmStores.EndCurrentEdit() bmStores.EndEdit() If (Me.PubsDataSet.HasChanges()) Then Try ''首先保存子数据的删除内容 ''再保存父数据的更新内容 ''最后再保存子数据的其它更改 ''第一步 If Not PubsDataSet.SALEs.GetChanges(DataRowState.deleted) Is Nothing Then Dim dtSALEsdeletes As DataTable dtSALEsdeletes = Me.PubsDataSet.SALEs.GetChanges(DataRowState.deleted) Me.salesTableAdapter1.update(dtSALEsdeletes) End If ''第二步 If Not PubsDataSet.stores.GetChanges(DataRowState.deleted) Is Nothing Then Me.StoresTableAdapter.update(Me.PubsDataSet.stores) End If ''第三步 ''更新添加 If Not PubsDataSet.SALEs.GetChanges(DataRowState.Added) Is Nothing Then Dim dtSALEsAdds As DataTable dtSALEsAdds = Me.PubsDataSet.SALEs.GetChanges(DataRowState.Added) Me.salesTableAdapter1.update(dtSALEsAdds) End If ''更新修改 If Not PubsDataSet.SALEs.GetChanges(DataRowState.Modified) Is Nothing Then Dim dtSALEsChanges As DataTable dtSALEsChanges = Me.PubsDataSet.SALEs.GetChanges(DataRowState.Modified) Me.salesTableAdapter1.update(dtSALEsChanges) End If Me.PubsDataSet.AcceptChanges() Me.btnSave.Enabled = false Catch ex As Exception messageBox.Show(ex.messagE) End Try End If End Sub 在程序里点击按钮“btnSave”调用该函数,如果PubsDataSet的HasChanges()不为空,btnSave.Enable=True,在上面的代码中可以看到在 Me.PubsDataSet.AcceptChanges() 之后有: Me.btnSave.Enabled = false 每次运行后,点击保存后,btnSave按钮也都不可用,当前显示修改成功,但打开数据库却发现并没有修改,再次运行程序,依旧是修改前的内容,偶现在正在纳闷之中,在网上也没查到类似问题,偶原来用C#时,也遇见过这样的问题,从那时到现在,已经重装过多次系统了,现在正在怀疑是不是偶用的软件问题…… __________________________________________________________________________ 看看数据库里的表有没有主键,没有的话是不行的,就要自己定义更新的语句 __________________________________________________________________________ 估计是主键约束 __________________________________________________________________________ 该回复于2008-08-31 08:39:40被管理员或版主删除 __________________________________________________________________________ http://user.qzone.qq.com/784866864 __________________________________________________________________________ 楼上的QQ登录不了 应该不是主键约束问题,因为我用的是系统数据库! __________________________________________________________________________ 我也抄书上的例子试过一次,有时能添加,有又添不进去,删除没问题。不知道什么原因。 __________________________________________________________________________ 建议自己拼写SQL __________________________________________________________________________

大佬总结

以上是大佬教程为你收集整理的[VB.NET]ADO.NET的Update问题全部内容,希望文章能够帮你解决[VB.NET]ADO.NET的Update问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。