有人可以帮我弄清楚如何让VB.NET更新其连接的MS ACCESS数据库吗?
MS Access 2013 Visual Studio 2012(Framework 4.0)
问题:点击“保存”按钮后,我的DataGrid不会更新其源MS Access数据库。它只是
基本上,我只是以标准方式设置连接。这是一个非常通用的&我失败的结构的基本版本。
Imports System.Data.OleDb
Public Class Form1
Private Sub StudentBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles StudentBindingNavigatorSaveItem.Click
Me.Validate()
Me.StudentBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.TestdbDataSet)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'TestdbDataSet.Student' table. You can move, or remove it, as needed.
Me.StudentTableAdapter.Fill(Me.TestdbDataSet.Student)
End Sub
End Class
这只是设置向导中的系统生成代码。过去8个小时我一直试图解决这个看似良性的问题。我刚刚疲惫不堪。
答案 0 :(得分:0)
社区,
经过一些额外的研究和大量的试验&错误,我已经想出如何让vb.NET更新其MS ACCESS数据库。基本上,您需要更改导入数据库的一个属性,并更改导入数据集的更新命令。以下是这些步骤的完整演练。
►MSAccess2013
►VisualStudio2012
►.NETFramework4.5
(为获得最佳效果,请谨慎使用每一步。)
步骤1:创建示例MS Access数据库
第2步:打开Visual Studio 2012项目
第3步:连接到MS Access数据库
第4步:放置控制对象
第5步:更改数据集属性
第6步:更改TableAdapter更新命令
第7步:测试
就是这样。现在,您可以在Visual Studio 2012中创建.NET桌面应用程序,并具有存储和存储功能。更新MS Access数据库中的数据(2013)。
答案 1 :(得分:0)
如果您使用visual studio上的开始按钮启动应用程序,它会将新数据库复制到您的应用程序文件(存储在“/debug/youraplication.exe”中)。 尝试直接执行调试文件夹中的youraplication.exe,然后尝试使用您的应用程序插入/删除/更新您的数据库,并关闭您的应用程序,现在打开存储在文件夹调试中的databasae.accdb,现在您可以看到您的数据库包含您的输入
答案 2 :(得分:0)
我仍然遇到这个问题而无法预料到" Force"你做的更新。 到目前为止,似乎我拥有的每个数据集都至少有一个我以编程方式填充的字段,并且没有相关的控件,用户可以在表单上编辑该字段,数据集不允许更新/删除,只有新的和插入。 我可能会走错路。
答案 3 :(得分:0)
这解决了问题:
第5步:更改DataSet属性
Solution Explorer:选择“SampleAccessDatabase.mdb” 属性:选择“复制到输出目录”►更改为“如果更新则复制”
我的问题是应用程序总是将新数据库复制到app的调试文件夹...