- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我不明白为什么我的代码无法保存到我的 .accdb 数据库中。
我正在从 .accdb 数据库文件中获取数据并将其显示在 DataGridView 中,然后允许对其进行更改。 (这是一个库存控制系统。)进行更改后,用户将能够发回数据,以便将其保存在 .accdb 文件中。
我到处都在网上查看并尝试了多种不同的方法。这是我目前用来解决问题的方法,但是在运行代码时它不会保存到 .accdb 文件中。 (但是,它不会抛出任何错误。)
Public Class Database
Dim datatable As DataTable
Dim adapter As OleDb.OleDbDataAdapter
Dim dbCon As New OleDb.OleDbConnection
Dim dbProvider As String = "PROVIDER=Microsoft.ACE.OLEDB.12.0;"
Dim dbRsrc As String = "Data Source =" & System.IO.Directory.GetCurrentDirectory & "/Resources/List.accdb"
Dim binding As BindingSource
Dim cmdBuilder As OleDb.OleDbCommandBuilder
Private Sub Database_Load(sender As Object, e As EventArgs) Handles MyBase.Load
dbCon.ConnectionString = dbProvider & dbRsrc
dbCon.Open()
adapter = New OleDb.OleDbDataAdapter("Select * FROM List", dbCon)
datatable = New DataTable
adapter.FillSchema(datatable, SchemaType.Source)
adapter.Fill(datatable)
binding = New BindingSource
binding.DataSource = datatable
dbCon.Close()
StockTable.DataSource = binding
End Sub
Private Sub SaveBtn_Click(sender As Object, e As EventArgs) Handles SaveBtn.Click
'insert validation here
Try
dbCon.ConnectionString = dbProvider & dbRsrc
dbCon.Open()
cmdBuilder = New OleDb.OleDbCommandBuilder(adapter)
adapter.AcceptChangesDuringUpdate = True
adapter.Update(datatable)
dbCon.Close()
Catch ex As Exception
MsgBox(ex.Message.ToString() & " Save Unsuccessful.")
End Try
End Sub
End Class
不确定我哪里出错了 - 当我点击“保存”按钮时,它应该连接到数据库,构建一个 SQL 查询来更新它,然后更新我的数据表 + .accdb 数据库,对吧?为了测试它,我尝试编辑多列并保存它,但是当打开文件时它仍然显示与以前相同的值。
有什么建议/指点吗?我是 VB.NET 的新手,大约 3 个月前学习它,才刚刚开始完全融入它。
最佳答案
非常感谢帮助我找到这个答案的用户“jmcilhinney”。没有意识到我的代码正在运行,我感到非常愚蠢。
我用过
Debug.WriteLine("Update value: " & adapter.Update(datatable))
Debug.WriteLine("Connection str: " & dbProvider & dbRsrc)
发现我的更新命令有效,事实上我的数据库文件的输出在/bin/文件夹中。我没有意识到它使用了/bin/文件夹,并且正在查找包含 .VB 文件等的根文件夹。
关于database - VB.NET - .accdb 数据库不保存更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28999843/
我正在尝试将 accdb 文件从 Access 2010 中的使用转换为 Access 2007。我首先尝试使用 Access 2007 打开该文件,但出现错误 Unrecognized databa
我正在处理 Excel VBA 宏,并且想要从 MS Access 数据库(.accdb 文件)检索数据。 我尝试使用下面的连接字符串,它抛出运行时错误“438” Dim cn As Objec
我正在尝试创建一个程序来读取数据库并输出它。我已按照 http://www.codeproject.com/Articles/35018/Access-MS-Access-Databases-from
我最近将数据库从 .mdb (MS Access 2003) 更新为 .accdb (MS Access 2010)。 通过这次更新,我还将我的提供程序从:Microsoft.Jet.OLEDB.4.
我上这门课已经几天了,现在正在网上搜索以寻找解决方案。我在这里尝试做的是连接到扩展名为 .accdb 的 Access 2010 数据库 我已经成功连接到扩展名为 .mdb 但不是 的旧数据库>.ac
我一直在寻找打开 .accdb 数据库并从此文件读取/写入日期的解决方案。该文件保存在本地而不是服务器上,该解决方案无需额外的库即可运行。 有人可以帮助我吗? 谢谢你的建议 最佳答案 我的建议是使用
我问了两个类似的问题: Use OLEDB to read AccessFile from Stream to DataSet Read Microsoft Access File(.accdb) b
我正在尝试创建一个使用Access 2007 DB(.accdb)的MVC应用程序。我可以使用DataSet创建模型。但是,如果我尝试使用EntityFramework创建模型,那么我无法摆脱VS20
我想我的问题会被认为是愚蠢的,但我真的被困住了。 如何查看 *.accdb 文件中的所有表? 我使用 Office 14 中的 Microsoft Access 打开和编辑该文件。然后我去Databa
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我正在使用 Visual Studio Community 2017 Access 2010 - 2016 年 我可以导入我创建的 Access 文件 从客户端发送的文件包含(表、查询、表单、宏和模块
使用下面的代码,当找不到运行提供程序时,我收到以下错误,下面的代码是从网上复制和编辑的,它以前使用.mdb文件,但我尝试将其更改为.accdb,因为这是我的格式需要它。我正在尝试制作一个宏,在运行时将
我使用 .accdb 文件作为 Java 桌面应用程序的数据库。该文件用作数据库,但我也可以打开它并查看所有数据,我也可以更改它而不使用该程序。有什么方法可以阻止该文件并且用户无法直接使用 Acces
我使用的是 MS Office 2010。我想创建一个 .mdb 数据库。我环顾四周,但不知道如何更改默认扩展名。 该数据库将用于练习 Java JDBC-ODBC 连接,为此我需要一个 .mdb 数
我不明白为什么我的代码无法保存到我的 .accdb 数据库中。 我正在从 .accdb 数据库文件中获取数据并将其显示在 DataGridView 中,然后允许对其进行更改。 (这是一个库存控制系统。
如果我有一个基本的 windows xp 系统、ruby 和一个 ms access 2007 文件(例如 c:/foo/bar.accdb)文件,读取该 .accdb 文件的侵入性最小的方法是什么。
我试图将 Access 数据库的大小保持在最低限度,并且需要删除以前使用但现在不需要的几个大图像。我的理解是 Access 文件 (.accdb) 将图像存储在数据库中。你知道是否可以删除它以及如何删
这两个扩展有什么区别? 我需要使用 ADODB 连接从 WORD 文件写入 Access 数据库 当我创建一个新的 Access 数据库时,它让我可以选择只制作一个 ACCDB 文件,而由于某种原因我
我有一个这样的文件: strPath = "S:\HR\Forms\forms_database.accdb" 我通过 WORD adodb.connection 连接到它 我的数据库应该是不同的扩展
我尝试自动创建 .accdb 数据库,但使用 create() 函数时出现编译错误: 我使用这个答案中的代码: Create an Access database file (.mdb or .acc
我是一名优秀的程序员,十分优秀!