INSERT INTO sql 代码连接问题

欧文

我已经成功地设法利用SELECTDELETESQL语句,现在我尝试使用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
用户9152967

使用一个打开的连接和一个关闭的连接,如下所示:

  1. 打开连接
  2. 执行所有 DELETE 和 INSERT 查询。
  3. 关闭连接。

试试这个:

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章