VB6和ODBC命令

VB6和ODBC命令,vb6,pervasive,Vb6,Pervasive,我在这里开始了一个帖子,这是该帖子的延续: 我找不到成功查询数据库所需的信息。我需要做的是从普适数据库中获取一个值。我找不到用于执行此操作的ODBC命令列表 有人能给我指一些关于这些普遍使用的ODBC命令的文档吗?我正在使用ADO ODBC进行连接 编辑: 我还试图连接到MySQL数据库,但遇到了相同的错误。下面是我创建的一个测试子模块,用于调用MySQL函数。MySQL的错误与普适的错误相同:“未设置对象变量或带块变量” 首先,您需要连接到数据库。根据需要,连接字符串将采用以下格式: 驱动程序

我在这里开始了一个帖子,这是该帖子的延续:

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

有人能给我指一些关于这些普遍使用的ODBC命令的文档吗?我正在使用ADO ODBC进行连接

编辑:

我还试图连接到MySQL数据库,但遇到了相同的错误。下面是我创建的一个测试子模块,用于调用MySQL函数。MySQL的错误与普适的错误相同:“未设置对象变量或带块变量”


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

驱动程序={ODBC客户端 接口};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
选项显式
作为字符串的公共函数getEmployee()
将MyConnection设置为ADODB.Connection
将CM设置为ADODB.Command
将RS设置为ADODB.Recordset
设置MyConnection=ConnectSQL()
'单向使用命令对象
Set CM=New ADODB.Command
设置CM.ActiveConnection=MyConnection
CM.CommandType=adCmdText
CM.CommandText=“选择*自”
Set RS=New ADODB.Recordset
RS.开放式CM、adOpenStatic、ADLOCKBATCH
'另一种只使用连接的方式
设置RS=MyConnection.Execute(“选择*from”)
'返回数据
getEmployee=RS.Fields(0).Value
端函数
公共函数ConnectSQL()作为ADODB.Connection
设置ConnectSQL=newadodb.Connection
ConnectSQL.Open“Driver={MySQL-ODBC-Client-Interface};ServerName=localhost;dbq=@testdb”
端函数

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

驱动程序={ODBC客户端 接口};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
选项显式
作为字符串的公共函数getEmployee()
将MyConnection设置为ADODB.Connection
将CM设置为ADODB.Command
将RS设置为ADODB.Recordset
设置MyConnection=ConnectSQL()
'单向使用命令对象
Set CM=New ADODB.Command
设置CM.ActiveConnection=MyConnection
CM.CommandType=adCmdText
CM.CommandText=“选择*自”
Set RS=New ADODB.Recordset
RS.开放式CM、adOpenStatic、ADLOCKBATCH
'另一种只使用连接的方式
设置RS=MyConnection.Execute(“选择*from”)
'返回数据
getEmployee=RS.Fields(0).Value
端函数
公共函数ConnectSQL()作为ADODB.Connection
设置ConnectSQL=newadodb.Connection
ConnectSQL.Open“Driver={MySQL-ODBC-Client-Interface};ServerName=localhost;dbq=@testdb”
端函数


您是否已成功连接到数据库?如果是这样,只需构建一个
Select
语句来检索所需的数据。问题是我无法测试连接。这是我自上周四以来一直在尝试做的事情,但找不到普及v10数据库的OBDC命令。我不清楚“测试连接”是什么意思。根据您上一篇文章中的连接字符串,您的连接是否打开?您是否尝试过@BrianMStafford,我不确定它是否打开。您是否成功连接到数据库?如果是这样,只需构建一个
Select
语句来检索所需的数据。问题是我无法测试连接。这是我自上周四以来一直在尝试做的事情,但找不到普及v10数据库的OBDC命令。我不清楚“测试连接”是什么意思。根据你上一篇文章中的连接字符串,你的连接打开了吗?你试过@BrianMStafford了吗,我不确定它是否打开。Brian,这个有用!!我现在可以连接到数据库了。这就是我认为问题发生的地方。我有一个带有ConnectSQL函数的模块。当我尝试使用该功能时,我无法连接。如果我将该函数移动到与您相同的类中,那么我可以很好地连接。我是否需要先将该模块包含在此类中才能使用它?如果您移动了并且没有修改该函数,我不知道为什么会这样。目前,您调用ConnectSQL的方法在我的项目中,一个名为MySQL的模块。我想做的是在Employee类中调用该函数,以便查询所需的数据。这是可能的,还是我应该把连接信息放在类中,然后删除模块?Brian,我一定对模块函数做了些什么,因为我现在已经让它工作了。非常感谢你的帮助!很高兴听到!假设你在一个模块中有一个带有类和公共函数的exe,那么这个函数应该在任何地方都可用。Brian,这很有效!!我现在可以连接到数据库了。这就是我认为问题发生的地方。我有一个带有ConnectSQL函数的模块。当我尝试使用该功能时,我无法连接。如果我将该函数移动到与您相同的类中,那么我可以很好地连接。我是否需要先将该模块包含在此类中才能使用它?如果您移动了并且没有修改该函数,我不知道为什么会这样。目前,您调用ConnectSQL的方法在我的项目中,一个名为MySQL的模块。我想做的是在Employee类中调用该函数,以便查询所需的数据。这是可能的,还是我应该把连接信息放在类中,然后删除模块?Brian,我一定对模块函数做了些什么,因为我现在已经让它工作了。非常感谢你的帮助!很高兴听到!假设模块中有一个带有类和公共函数的exe,那么该函数应该在任何地方都可用。