我正在尝试编写一个方法来接受查询作为参数,然后运行该查询以在我的数据库中添加行或编辑数据。我正在使用MS Access DB,Visual Studio来编写我的代码,VB.net作为一种编码语言。我使用了一种从数据库中查询数据的方法,并对其进行了修改以修改数据库中的数据。这就是事情不太起作用的地方。下面是我修改过的代码:
这就是我传递给该方法的查询
query = "INSERT INTO TABLE ([Column 1], [Column 2]) VALUES ([GOTIT], 121212)"
这就是我正在尝试使用的方法
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()
发布于 2019-01-03 03:45:03
要连接到数据库,您需要使以下变量变暗:
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为其他内容保留的表或字段中输入数据,则它会在反勾号(`)中显示
例如:
DBCon.Open()
DBCmd = New OleDbCommand($"INSERT INTO `User` (Username) VALUES ('{Username}')", DBCon)
DBCmd.ExecuteNonQuery()
对于您的查询,请尝试重写为
query = $"INSERT INTO TABLE ([Column 1], [Column 2]) VALUES ('{GOTIT}', 121212)"
https://stackoverflow.com/questions/54012151
复制相似问题