Access数据库不会从VB.NET更新
有人可以帮我弄清楚如何让VB.NET更新其连接的MS ACCESS数据库吗?Access数据库不会从VB.NET更新
的MS Access 2013 的Visual Studio 2012(框架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个小时我一直试图解决这个看似温和的问题。我只是疲惫不堪。
社区,
经过一番更多的研究和大量的试验&错误的,我已经找到了如何让vb.NET更新其MS Access数据库。基本上,您需要更改导入数据库的一个属性,并更改导入数据集的更新命令。以下是步骤的完整演练。
►MS进入2013
►Visual工作室2012
►.NET框架4.5
(为了获得最佳效果,请执行每一步故意)。
步骤1:创建采样MS Access数据库
- 表名:** “表A”
- 字段1: “ID” | [自动编号产品密钥]
- 字段2:“标题”| “样品A”,“样品B”,...“样品G”
- 字段3:“Val”| “A”, “B”,......, “G”
- 另存为: “SampleAccessDatabase.mdb”
- 关闭:关闭的MS Access
第2步:打开Visual Studio 2012项目
- 新项目:►的Visual Basic► “Windows窗体应用程序” 模板
第3步:连接到MS Access数据库
- 添加新数据源►数据库[下一页>]►数据库[下一页>]►新建连接
- 添加连接窗口:数据源► “Microsoft Access数据库文件(OLE DB)”
- 添加连接窗口:数据库文件名►浏览►抓取“SampleAccessDatabase。MDB”文件►[点击OK]
- 添加连接窗口:点击OK]►[下一页>]►哈工大是]►[下一页>]
- 选择数据库对象:选择 “表A” ►完成
步骤4:将控制对象
- 数据源:抓住 “表A” 并将其放置在 “Form1的” 对象上
第5步:更改数据集属性
- Solution Explorer中:选择 “SampleAccessDatabase.mdb”
- 属性:选择 “复制到输出目录” ►更改为“复制,如果新”
第6步:改变的TableAdapter更新命令
- Solution Explorer中:双击“SampleAccessDatabaseDataset.xsd”
- 窗格:选择中间窗格中的“表ATableAdapter”对象
- 属性:展开[更新命令]点击下拉菜单,然后选择[新]
- 更新命令:打开[CommandText中]点击省略号[...]
- 添加表:选择 “表A” 和命中[添加]
- 查询生成器:字SET类型后“字段2 = ?”。点击进入
- 查询生成器:这个词后“WHERE”型“?(字段1 =”哈工大OK]
第7步:测试一下
- CTRL + F5:将“Field2”更改为“1”,“2”,...“7”►关闭窗体/应用程序
- CTRL + F5:查看更新的DataGrid
这就是它。现在,您可以从您的MS Access数据库(2013)存储&更新数据的能力,创建在Visual Studio 2012的.NET桌面应用程序。
-1。我通常喜欢自我回答,但你的回答并不显示问题所在。 –
**“经过一些额外的...,我已经想出了如何让VB.NET来更新它的MS Access数据库。”**你说我的自我回答没有定义它正在解决的问题。第一句话没有说明吗?那么,我会采取任何建议。根据谷歌的结果,其他几个人有这个问题,我想这个职位可以作为他们的助手。 **这就对了。现在,您可以在Visual Studio 2012中创建.NET桌面应用程序,并可以存储和更新MS Access数据库(2013)中的数据。“** – Elias
如果您使用visual studio上的开始按钮启动应用程序,它会将新数据库复制到您的应用程序文件(存储在“/debug/youraplication.exe”中)。 尝试直接在debug文件夹执行youraplication.exe,然后尝试插入/删除/使用aplication更新数据库,并关闭aplication,现在它保存在文件夹中的调试开放databasae.accdb,现在你可以看到你的数据库包含您输入
我有这个问题仍然并不能弄明白希望“强制”更新为你做。 到目前为止,似乎每个数据集都具有至少一个我以编程方式填充的字段,并且没有关联的控件,用户可以在窗体上编辑该字段,数据集不允许更新/删除,只允许新增和插入。 虽然我可能走错了路。
此问题解决了:
第5步:更改数据集属性
Solution Explorer中:选择 “SampleAccessDatabase.mdb” 属性:选择 “复制到输出目录” ►更改为 “复制,如果新”
我的问题是应用程序总是复制新的数据库,以调试应用程序的文件夹...
迂腐笔记:这个问题与VB.NET无关。这就是您用来调用.NET组件的编程语言,如System.Data.OleDb。 –