在VB6中的ADODB中执行查询

时间:2015-10-05 11:43:14

标签: sql vb6 adodb

我在Visual Basic 6中有一个程序,它监听ComPort并根据收到的数据生成SQL Querys。我使用ADODB作为我选择的数据库链接。

目前我正在尝试这个:

' Initiate Database Connection
  Call dbConn
  results.Open SQLQueryfeld(s), cn
  Debug.Print (results.GetString)
  Debug.Print ("SQL Statement  " & SQLQueryfeld(s) & "  wurde erfolgreich ausgeführt")
  results.Close

这给了我一个"这个操作不允许在一个封闭的对象上"在第一个Debug.Print行。

dbConn是一个公共函数,它创建一个名为cn的ADODB连接对象 结果从代码来自的函数的头部开始

Dim results as New ADODB.Recordset

这里的最终目标是:执行一个INSERT sql语句(存储在字符串数组SQLQueryfeld(s)中)并得到一个返回,或者它是否成功。我也可以采取任何其他方式,但必须使用ADODB。

以下是来自同一项目的其他一些代码可以正常工作:

    Call dbConn

SQL = "SELECT Name FROM Personen WHERE Eintrag=" & Personalid & " "
rs.Open SQL, cn

If rs.RecordCount > 0 Then
tmp_name = rs.GetString
tmp_name = Replace(tmp_name, Chr(13), "")
tmp_name = Replace(tmp_name, Chr(10), "")
tmp_name = Replace(tmp_name, vbCrLf, "")

2 个答案:

答案 0 :(得分:0)

如果您知道您的查询是INSERT查询,则可以使用Connection.Execute而不是RecordSet.Open。​​

样品:

    Dim recordsAffected As Long
    Call dbConn
    cn.Execute SQLQueryfeld(s), recordsAffected
    Debug.Print "Number of inserted rows: " & recordsAffected

答案 1 :(得分:0)

我只是修改了GTG的回答

Dim recordsAffected As Long
Call dbConn
cn.Execute SQLQueryfeld(s), recordsAffected
Debug.Print "Number of inserted rows: " & recordsAffected

您的变量SqlQueryFeild应该是insert语句,例如

Insert into table X values("df")