我已成功设法使用SELECT
和DELETE
SQL语句,现在我正在尝试使用INSERT INTO
。但是我一直收到这个错误:
ExecuteNonQuery需要一个开放且可用的连接。该 连接的当前状态已关闭。
所以我尝试将con.Open()
放在一边看看是否会有所帮助,我收到了这个错误:
ConnectionString属性尚未初始化。
我想知道是否有人知道我做错了什么。或者只要有人有任何工作代码。我希望不使用参数,如果可能的话,因为我根本不理解它们。这是我的SQL代码:
Dim con As OleDb.OleDbConnection
Dim comm As OleDb.OleDbCommand
con = SQLConnect()
comm = New OleDb.OleDbCommand()
comm.CommandText = "INSERT INTO " & TableName & " (" & Column & ") VALUES (" & Value & ")"
comm.Connection = con
comm.ExecuteNonQuery()
con.Close()
以下是连接代码:
Public Function SQLConnect() As OleDb.OleDbConnection
If Connector.State = ConnectionState.Open Then
dbprovider = "PROVIDER=Microsoft.ACE.OLEDB.12.0;"
dbsource = "Data Source = NEA.accdb"
Connector.ConnectionString = dbprovider & dbsource
Connector.Open()
End If
Return Connector
End Function
答案 0 :(得分:0)
使用一个打开的连接和一个关闭连接,如下所示:
试试这个:
con.Open()
comm.Connection = con
comm.CommandText = "DELETE ..."
comm.ExecuteNonQuery()
comm.CommandText = "INSERT INTO " & TableName & " (" & Column & ") VALUES (" & Value & ")"
comm.ExecuteNonQuery()
con.Close()
BTW,我建议你在sql查询中使用参数而不是字符串连接。为了避免sql注入。