MySQL查询错误(ODBC 3.51)

时间:2015-07-28 12:18:46

标签: mysql vb6 odbc

我正在尝试在VB6应用中执行查询。

这是我的代码:

Dim con As ADODB.Connection
Set con = New ADODB.Connection
con.ConnectionString = "Driver={MySQL ODBC 3.51 Driver}; Server=***; Database=***; Username=***; Password=***; Option=3"
con.Open

Dim cmd As New ADODB.Command
With cmd
    .ActiveConnection = con
    .CommandText = "SELECT COD_CONFIG FROM FDT_CONFIG"
    .CommandType = adCmdText
End With

Dim rs As New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.Open cmd, , adOpenStatic, adLockOptimistic

我在连接字符串中隐藏了一些信息,但在我的应用中我使用了正确的值。

我可以成功打开连接,但当我尝试执行查询时,我得到:

  

“执行错误”2147467259(800004005)':未指定错误“

有人能告诉我哪里出错了吗?

1 个答案:

答案 0 :(得分:1)

如果您要将Command对象的ActiveConnection分配给现有的Connection 对象,则必须使用Set

With cmd
    Set .ActiveConnection = con
    ....
End With

它有点令人困惑,因为您还可以为ActiveConnection属性分配字符串,ADO将为您创建临时连接。在这种情况下,您不会使用Set,因为您只是为内在类型(字符串)分配值:

With cmd
    .ActiveConnection = "Driver={MySQL ODBC 3.51 Driver}; Server=***; Database=***; Username=***; Password=***; Option=3"
    ...
End With

因此该属性可以多种方式使用。但是,在您的方案中,由于您要分配对象引用,因此您需要使用Set关键字。