使用 RemoteData控件

Remote Data 控件通过使用 Microsoft 的远程数据对象来实现数据访问。该技术提供了对标准数据库格式的无缝访问,用户不必编写任何代码就可以创建数据识别的应用程序。Remote Data 控件适合于较大的客户-服务器数据库,包括开放式数据库连接性 (ODBC) 数据库,诸如 Microsoft SQL Server 以及 Oracle。

需要注意的是,RemoteData 控件不支持 Image 数据类型。

注意 Remote Data 控件和 Data 控件二者都包括在 Visual Basic 中,以提供向后兼容性。不过,由于 ActiveX 数据对象 (ADO) 的适应性更广,建议使用 ADO Data 控件来创建新的数据库应用程序。详细信息,请参阅“使用 ADO Data 控件”。

Data 控件、Remote Data 控件,以及 ADO Data 控件在概念上很相似:三者都是将一个数据源连接到一个数据绑定控件的“数据控件”。而且三者共享相同的外观—一组四个的按钮,使用户可以迅速到达记录集的开始、记录集的末尾、或在记录集中向前或向后翻卷。

使用Remote Data 控件创建一个简单的数据库应用程序

下面的操作过程使用这种Data 控件创建了一个简单的数据库应用程序。

要使用Remote Data 控件创建一个简单的数据库应用程序

  1. 在窗体上放置一个 Remote Data 控件。(该图标的工具提示控件为"MSRDC"。)

    如果Remote Data 控件不在“工具箱”中,则按 CTRL+T 键来显示“部件”对话框。在“部件”对话框中,单击“Microsoft RemoteData Control”。然后单击“确定”将其添加到“工具箱”中。

  2. 单击选定该 Remote Data 控件,然后按 F4 键显示“属性”窗口。

  3. 在“属性”窗口中,将“DataSourceName”属性设置为要连接的数据库的 DSN 。

  4. 在“属性”窗口中,单击“SQL”属性并输入一个 SQL 语句,例如:
    SELECT * FROM Products WHERE AuthorID = 72
    

    在访问一个表时,应始终包括一个 WHERE 子句。不这样做就会锁定整个表,这对其他用户将是一个严重的障碍。

  5. 在窗体上再放置一个 TextBox 控件。

  6. 单击并选定该文本框控件,然后在其“属性”窗口将“数据源”属性设置为该 Remote Data 控件。

  7. 在“属性”窗口中,将“数据字段”属性设置为要查看或修改的数据库中的字段的名称。

  8. 对希望访问的其他的每个字段重复第5、6、7步。

  9. 按 F5 键运行该应用程序。

设置 RemoteData 控件的与数据相关的属性

下述与数据相关的属性可以在设计时设置。下表给出了设置这些属性的一种逻辑顺序:

  1. Connect — “连接”属性是一个字符串,该字符串可以包含进行一个连接所需的所有设置值。在该字符串中所传递的参数是与驱动程序相关的。例如,ODBC 驱动程序允许该字符串包含驱动程序、数据库、用户名称以及密码。

  2. UserName — 对一个受保护的数据库标识一个用户。该用户必须使用一个合法的、该数据库管理系统能识别的密码。用户名称也可以包含在“连接”属性值中,此时本属性中的设置就是多余的。

  3. Password — 与用户名称一起使用,密码使用户可以访问受保护的数据。密码也可以包含在“连接”属性值中,此时本属性中的设置就是多余的。

  4. SQL — SQL 属性包含了用于检索一个结果集的 SQL 语句。结果集的大小可以决定是使用客户端游标还是使用服务器端的游标。例如,一个小的结果集可以用一个客户端的游标来管理。

  5. RowSetSize — 设置在结果集返回的行数,如果光标为键集光标。可以根据计算机的资源(内存)调整这个数目,以获得性能的改善。

  6. ReadOnly — 指定数据是否可以写入。如果正在编写的数据是不需要的,将这个属性设为“真”可以获得性能的改善。

  7. CursorDriver — 决定驱动程序的位置和类型。这个属性的设置值将影响其它属性的设置。例如,只要结果集比较小,则选择 ODBC 客户端游标可以提高性能。

  8. LockType — LockType 属性决定当其他人试图更改数据时如何锁定该数据。如果不希望其他人更改该数据(当您正在查阅时),可以将 LockType 设置为 "optimistic"—即其他人可以自由地查看和更改该数据。如果将该属性设置为 "pessimistic",那么在您访问该数据期间,其他人不能访问该数据。

  9. BOFAction、EOFAction — 这两个属性决定当该控件位于光标的开始和末尾时的行为。提供的选择包括停留在开始或末尾、移动到第一个或最后一个记录、或添加一个新记录(只有在末尾时)。

  10. ResultSetType — 决定光标是静态类型还是键集类型。

  11. KeySetSize — 如果光标为键集类型,则可以使用 KeySetSize 属性来优化返回的结果集的大小。

  12. LoginTimeout — 设置等待的秒数,超时则返回一个错误。

  13. MaxRows — 指定游标的大小。如何确定这个属性取决于所检索的记录大小,以及您的计算机上可用资源(内存)的多少。大的记录(具有很多列以及字符串)与小的记录相比会消耗更多的资源。MaxRows 属性就应该相应地减少。

  14. Options — 指定该控件是否异步地执行查询。当估计一个查询可能要花费好几分钟来执行时,应使用异步操作。

  15. Prompt — 在 RDO 基于该 RemoteData 控件的参数打开一个连接时,Connect 属性应当包含足够的用于建立该连接的信息。如果没有提供象数据源名称、用户名称、或密码等这样的信息,则 ODBC 驱动程序管理器将显示一个或多个对话框,以便从用户取得这些信息。如果不想让这些对话框出现,可以相应地设置这个 Prompt 属性来取消这一功能。

  16. QueryTimeout — 设置等待一个查询完成的秒数,超时则返回一个错误。

  17. BatchSize — 这个属性决定在一个批处理中可以发送多少条语句--如果驱动程序允许使用批处理语句。