我已经成功地设法利用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
使用一个打开的连接和一个关闭的连接,如下所示:
试试这个:
con.Open()
comm.Connection = con
comm.CommandText = "DELETE ..."
comm.ExecuteNonQuery()
comm.CommandText = "INSERT INTO " & TableName & " (" & Column & ") VALUES (" & Value & ")"
comm.ExecuteNonQuery()
con.Close()
顺便说一句,我建议您在 sql 查询中使用参数而不是字符串连接。避免sql注入。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句