Команды VB6 и ODBC - PullRequest
       44

Команды VB6 и ODBC

0 голосов
/ 04 ноября 2019

Я создал тему здесь, это продолжение этого поста: Вызов модуля и класса в форме

Я не могу найти информацию, необходимую для успешного запросанаша база данных. Что мне нужно сделать, это получить одно значение из базы данных Pervasive. Я не могу найти список команд ODBC, с которыми можно это сделать.

Может кто-нибудь указать мне какую-нибудь документацию, касающуюся этих распространенных команд ODBC? Я использую ADO ODBC для подключения.

РЕДАКТИРОВАТЬ:

Я также пытаюсь подключиться к базе данных MySQL, и я получаю ту же ошибку. Вот тестовый Sub, который я создал для вызова моей функции MySQL. Ошибка для MySQL та же, что и для Pervasive: «переменная объекта или переменная блока не установлена»

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

1 Ответ

2 голосов
/ 04 ноября 2019

Во-первых, вам нужно подключиться к базе данных. Согласно этому веб-сайту строка подключения будет иметь следующий формат:

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

Начиная с кода из вашего предыдущего поста, его можно расширить следующим образом:

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
...