首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用vb.net更新MSAccess数据库

如何使用vb.net更新MSAccess数据库
EN

Stack Overflow用户
提问于 2019-01-03 03:32:53
回答 1查看 40关注 0票数 0

我正在尝试编写一个方法来接受查询作为参数,然后运行该查询以在我的数据库中添加行或编辑数据。我正在使用MS Access DB,Visual Studio来编写我的代码,VB.net作为一种编码语言。我使用了一种从数据库中查询数据的方法,并对其进行了修改以修改数据库中的数据。这就是事情不太起作用的地方。下面是我修改过的代码:

这就是我传递给该方法的查询

代码语言:javascript
复制
query = "INSERT INTO TABLE ([Column 1], [Column 2]) VALUES ([GOTIT], 121212)"

这就是我正在尝试使用的方法

代码语言:javascript
复制
Public Sub ExecEditQuery(Query As String)
    'reset variables
    Exception = ""

    Try
        'open a connection (already declared as private variable: Private DBCon As New OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0;" &
                                    ' "Data Source=Database.mdb;"))
        DBCon.Open()

        'create DB command
        DBCmd = New OleDbCommand(Query, DBCon)

        'execute command
        DBCmd.ExecuteNonQuery()

    Catch ex As Exception
        Exception = ex.Message
    End Try

    'close DB connection
    If DBCon.State = ConnectionState.Open Then DBCon.Close()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-03 03:45:03

要连接到数据库,您需要使以下变量变暗:

代码语言:javascript
复制
Public Filename As String = $"{AppDomain.CurrentDomain.BaseDirectory}YourDatabase.accdb"
Public ConStr As String = $"PROVIDER=Microsoft.ACE.OLEDB.12.0;DATA Source = {Filename}"
Public DBCon As OleDb.OleDbConnection = New OleDb.OleDbConnection(ConStr)

记住,如果你正在输入一个字符串,记得用引号把它括起来。此外,如果您在SQL为其他内容保留的表或字段中输入数据,则它会在反勾号(`)中显示

例如:

代码语言:javascript
复制
DBCon.Open()

DBCmd = New OleDbCommand($"INSERT INTO `User` (Username) VALUES ('{Username}')", DBCon)

DBCmd.ExecuteNonQuery()

对于您的查询,请尝试重写为

代码语言:javascript
复制
query = $"INSERT INTO TABLE ([Column 1], [Column 2]) VALUES ('{GOTIT}', 121212)"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54012151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档