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) M
e.salesTableAdapter1.Fill(Me.PubsDataSet.
SALEs) 然后用Binding
source
对数据进行管理,更改与添加的过程一切正常,下面是我
updateAll的代码部分: Private Sub
updateAll() ''bmStore
s.EndCurrentEdit() bmStore
s.EndEdit() If (Me.PubsDataSet.HasChanges()) Then Try ''首先保存子数据的删除内容 ''再保存父数据的更新内容 ''最后再保存子数据的其它更改 ''第一步 If Not PubsDataSet.
SALEs.GetChanges(DataRowState.
deleted) Is Nothing Then Dim dt
SALEs
deletes As DataTable dt
SALEs
deletes = Me.PubsDataSet.
SALEs.GetChanges(DataRowState.
deleted) M
e.salesTableAdapter1.
update(dt
SALEs
deletes) End If ''第二步 If Not PubsDataSet.store
s.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 dt
SALEsAdds As DataTable dt
SALEsAdds = Me.PubsDataSet.
SALEs.GetChanges(DataRowState.Added) M
e.salesTableAdapter1.
update(dt
SALEsAdds) End If ''更新修改 If Not PubsDataSet.
SALEs.GetChanges(DataRowState.Modified) Is Nothing Then Dim dt
SALEsChanges As DataTable dt
SALEsChanges = Me.PubsDataSet.
SALEs.GetChanges(DataRowState.Modified) M
e.salesTableAdapter1.
update(dt
SALEsChanges) End If Me.PubsDataSet.AcceptChanges() Me
.btnSave.Enabled =
false Catch ex As Exception
messageBox.Show(ex.
messag
E) 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,请注明来意。