一旦向一个工程插入了一个新的 UserConnection 对象,就可以为它定义一个新的 Query 对象。这些查询对象既可以是存储过程调用,也可以是用户定义的 SQL 语句。在设计时定义的每一个 query 对象将自动地作为这个新 UserConnection 类的一个方法使用。
要添加一个 Query 对象,单击工具条上最左边的按纽。在层次上新的 Query 对象被添加到该 UserConnection 对象的下一级,并且它的属性窗口将会出现。
选择“插入存储过程”查看数据库中可用的存储过程。用户连接设计器试图使用您输入的连接属性建立一个与数据库的连接。如果连接建立成功,它将枚举数据库中可用的存储过程,并允许您选择其中的一个来定义 Query 对象:
“查询属性”对话框
选取“派生于用户定义的 SQL”创建一个对远程数据库的本地查询。这将启用“SQL 属性”框,请在其中输入 SQL 语句以定义查询。
另外,也可以这样,单击“创建”按纽,这将打开 MS-Query 查询设计工具。 MS-Query 提供一个可视的接口,它允许拖放数据库表和字段、定义条件和设置关系来定义查询。从 MS-Query 退出时,您的查询设计图自动的被翻译成 SQL 代码并被插入到“用户定义的 SQL 属性”框中。
详细信息 有关使用 MS-Query 查询生成器的详细信息,请参阅安装在\Program Files\Common Files\Microsoft Shared\vba 目录下的 MSQry.hlp。
除了以上讨论的定义属性之外,“查询属性”页还有两个用来定义参数和高级属性的附加选项卡。
查询属性页上的“参数”选项卡允许开发者对当前查询中每一个参数调整属性。
Parameters 属性
在“参数”列表框中显示的参数是由查询源自动确定的,而且在这里不能被更改。在查询的 SQL 语言(或存储过程的调用语句)中每一个参数标记都会产生参数。参数标记由“?”指定以便与 ODBC 的规范一致。例如,下面的查询将会包含两个参数:
SELECT * FROM authors WHERE state = ? AND zip = ?
在这里可以更改的参数属性是 Name、Direction、ODBC Binding Data Type 以及 Visual Basic Data Type。
如果参数的“名称”属性的实际名称很复杂和不直观,那么它可以被更改,来允许 Visual Basic 代码根据其熟悉的名称来识别该参数。
如果对于某些 ODBC 数据库,其驱动程序不能决定方向(输入、输入/输出、或者返回值),那么可能必须设置一个参数的 Direction 属性。对于数据类型也是同样,而且可能希望不理会缺省类型约定而转换为 Visual Basic 数据类型,以方便您的代码使用。
“查询属性”页的“高级”选项卡允许通过设置限制和阈值来微调查询。
高级属性
“调用语法”文本框让您更改 RDO 用来调用存储过程的调用语法。这可以被编辑以便调整参数的数目和返回值的表示。编辑调用语法是一个高级操作,应当仅由理解其区别的开发者来做。
就象任何其他的类一样,可以把 UserConnection 对象插入到 Visual Basic 代码中,采用的方法是创建一个对象变量,并且用一个新的您所定义的 UserConnection 类的实例来实例化该对象变量。例如:
Option Explicit
Private MyConnect As MyConnection
Set MyConnect = New MyConnection
可以为已插入的 UserConnection 对象编写自己的代码,来吸收从该连接或者它下面定义的任何查询所引发的事件。也可以实现您自己的方法,或者编写 Property Get 和 Property Let 过程来实现自己的属性,这些属性都被添加到新对象的类型库中。