VB6 和 ODBC 命令

VB6 and ODBC commands

我在这里发起了一个话题,这是 post 的延续:

我找不到成功查询我们的数据库所需的信息。我需要做的是从 Pervasive 数据库中获取单个值。我找不到执行此操作的 ODBC 命令列表。

谁能给我指点一些处理这些 Pervasive ODBC 命令的文档?我正在使用 ADO ODBC 进行连接。

编辑:

我也尝试连接到 MySQL 数据库,但遇到了同样的错误。这是我创建的用于调用 MySQL 函数的测试 Sub。 MySQL 的错误与 Pervasive 的错误相同:"Object variable or With Block variable not set"

Public Sub testMe(id)
  Dim MySqlConn As adodb.Connection 'Do I need this here or in the MySQL function?
  Set MySqlConn = ConnectMySQL()
MySqlConn.Open "SELECT * FROM test", MySqlConn, adOpenDynamic, adLockOptimistic
End Function

首先,您需要连接到数据库。根据 this website,连接字符串将采用以下格式:

Driver={Pervasive ODBC Client Interface};ServerName=myServerAddress;dbq=@dbname;

从您之前 post 的代码开始,它可以像这样扩展:

Option Explicit

Public Function getEmployee() As String
   Dim MyConnection As ADODB.Connection
   Dim CM As ADODB.Command
   Dim RS As ADODB.Recordset

   Set MyConnection = ConnectSQL()

   'one way using command objects
   Set CM = New ADODB.Command
   Set CM.ActiveConnection = MyConnection
   CM.CommandType = adCmdText
   CM.CommandText = "select * from <table>"
   Set RS = New ADODB.Recordset
   RS.Open CM, , adOpenStatic, adLockBatchOptimistic

   'another way using just the connection
   Set RS = MyConnection.Execute("select * from <table>")

   'return the data
   getEmployee = RS.Fields(0).Value
End Function

Public Function ConnectSQL() As ADODB.Connection
   Set ConnectSQL = New ADODB.Connection
   ConnectSQL.Open "Driver={MySQL ODBC Client Interface};ServerName=localhost;dbq=@testdb"
End Function