信息 ︰ VB 6.0 自述文件第 2 部分 ︰ 数据访问/数据绑定问题

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 170163
概要
下面的信息包括 VisualBasic 6.0 文档和解决方法。此信息也可以在 Visual Basic 6.0 安装光盘上的 Visual Basic 6.0 与 README.htm 文件 thatships 中找到。请参阅 theREFERENCES 一节中的 Visual Basic 6.0 自述文件相关的 Microsoft 知识库文章的列表。

以下是一份自述文件的所有部分 ︰

第 1 部分。重要的问题-请先阅读 !
第二部分。数据访问问题和数据绑定提示
第 3 部分。控制问题
第 4 部分。语言问题
第 5 部分。示例问题
第 6 部分。向导的问题
第 7 部分。错误消息问题
第 8 部分。WebClass 设计问题
第 9 部分。DHTML 页设计器问题
第 10 部分。可扩展性问题
第 11 部分。其他问题
部分 12。Microsoft 事务服务器 (MTS) 问题
部分 13。字典对象
部分 14。可视组件管理器
第 15 部分。应用程序性能管理器
更多信息

在数据环境设计器代码示例中的错误

在主题中,"以编程方式访问对象在您数据 EnvironmentDesigner,"在"执行命令对象使用 MultipleParameters"下的示例错误地使用 Open 方法 ︰
   MyDE.Commands("InsertCustomer").Parameters("ID").value = "34"   MyDE.Commands("InsertCustomer").Parameters("Name").value = "Fred"   MyDE.Commands("InsertCustomer").Open

没有为命令对象打开方法。您必须使用 Executemethod。

系统与数据绑定控件不兼容

由于在 Visual Basic 6.0 中,并不是所有的数据绑定控件 arecompatible 与所有数据源的更改。由于在内部绑定架上的 ADO 和 DAO/RDO adifference 是这种不可兼容性。专为使用 DAO/RDO 所创建的控件不能为 boundto 一个 ADO 数据控件。创建使用 ADO 控件无法绑定到标准的数据控件或远程的数据控件。

这种不可兼容性主要适用于复杂绑定控件这样 asgrids 或列出该绑定到多个字段中的数据源;简单-boundcontrols 如文本框或绑定到单个字段的标签将 workwith 两种类型的数据源。一些示例如下所示 ︰
  1. Microsoft 数据绑定网格控件 (Dbgrid32.ocx) 可以绑定到 DAO 或 RDO 数据控件;它不能绑定到 ADO 数据控件。
  2. Microsoft 数据网格控件 (Msdatgrd.ocx) 可以绑定到 ADO 数据控件。无法将它绑定到 DAO 或 RDO 数据控件。
  3. 可以绑定到数据控件中的任何 Microsoft 屏蔽编辑控件 (Msmask32.ocx)。
  4. 内部的控件 (文本框、 图片框、 标签等) 可以绑定到任何数据控件。
  5. 第三方控件和 Visual Basic 编写用户控件应在个案的基础上进行测试。
当试图将某个控件绑定到数据源在设计时您 mayencounter"不兼容的数据源"错误消息。在这种情况下,youwill 需要替换为另一个控件与数据源兼容。

绑定到对象的属性可能会产生意外的结果

虽然可以将任何对象绑定到其他任何对象,resultsmay 并非始终是您预期。某些属性是只读的 bindableand 将不会更新绑定的源。

例如,如果您要绑定框架控件 toa 域名为 Foo,ADO 记录集对象中的标题属性,标题将更改 toreflect Foo 为您浏览完该记录集的值。如果,但是,您更改了标题属性以编程方式 (Frame1.Caption="栏"),将不会更新 Foo 的值。由于帧的 Captionproperty 是只读的因此可绑定,不 providenotification,其数据已更改。

这并不是问题对于 Visual Basic 编写的对象,因为您可以使用 callthe PropertyChanged 方法在对象的代码。对于其他对象,您可以确定某个属性是否可绑定更新通过检查 DataBindingscollection。如果某个属性枚举数据绑定集合中,则更新可绑定和数据源将接收数据;如果 itisn't 枚举,该属性是只读的可绑定。

绑定到 ADO 记录集的复杂需要游标类型

ADO 记录集对象绑定到复杂绑定控件 (如 aGrid 控件) 时,时,不必显式设置的游标类型属性 toeither adOpenStatic 或 adOpenKeyset。如果未设置此属性,则将显示无数据。下面的代码演示如何使用 CursorTypeproperty:
  Private Sub DataClass_Initialize()     Set cn = New ADODB.Connection     Set rs = New ADODB.Recordset     rs.CursorType = adOpenStatic     cn.Open "northwind"     rs.Open "customers", cn  End Sub
绑定到的简单绑定控件 (如文本框) 不需要特定的游标类型。

创建 Visual Basic 数据源 ︰ 类型字段,以便您可以排除作为

对于 SQL Server 并访问数据库 Instead of adBSTR

当追加到与 SQLServer 或访问数据库一起使用的 ADO 记录集对象的字段,键入字段以便您可以排除改为 ofadBSTR (如一些示例代码中所示)。当读取的数据从 eitherSQL Server 或 Access 数据库,ADO 将使用以便您可以排除的类型。

用于创建 OLE DB 提供程序错误地引用

文档错误地指出,就可以将 classmodule 的 DataSourceBehavior 属性设置为 2-vbOLEDBProvider 创建 anOLE DB 数据提供程序。DataSourceBehavior 的正确值均为 0-vbNone 和 1-vbDataSource。

文档还错误地指称为 OnDataConnection classmodules 中的不存在事件。

最后,在"创建 MyDataSource 类"的主题,通过 stepexample 步骤错误地指出应将 DataSourceBehavior 设置为 2-vbOLEDBProvider。相反,应将 DataSourceBehavior 设置为 1-vbDataSource。

要创建使用 Visual Basic 的 OLE DB 数据提供程序,请使用 OLE DB SDK 中包含提供程序 WriterToolkit。有关详细信息,请参阅 MSDN 上的 OLE DBSimple 提供程序 Toolkit 平台 SDK 文档中。

查找帮助的 ADO 对象

当使用 ADO 对象 (对于示例中,记录集,连接、 命令、 参数、 ADOR、 RDS 和 RDS 服务器对象),则不能获取该对象或其属性、 事件或方法上的上下文相关帮助。Thatis,如果您具有对对象的引用并使用它的功能之一中选择该代码,然后按 F1 不会导致帮助主题。相反,您将得到一个错误的主题或"找不到关键字"主题。

但是,可以使用联机文档索引对任何对象的属性、 事件和 ormethods 中获取帮助 ︰
  1. 如果 MSDN 文档查看器未打开,请在帮助菜单上,单击目录。
  2. 单击索引选项卡。
  3. 键入的属性、 事件或方法包括单词"收藏"、"属性"、"事件"或根据"方法"的名称。
  4. 从可用主题列表中,选择在标题中包含"ADO"的主题。

    注意 ︰ 您还可以找到其他帮助在 ADO 的其他主题,如 ADO 对象模型中,通过查看 MSDN 库目录 ︰ 打开平台 SDK 并在数据库和消息服务,请转到 Microsoft 数据访问 SDK。

SQL Server OLE DB 提供程序需要新的 instcat.sql

之前使用的 SQL Server OLE DB 数据提供程序,您必须运行随 Microsoft Visual Basic 6.0 上 SQL Server(version 6.5 and later) versionof instcat.sql。Instcat.sql 随 Visual Basic 在安装时的 \winnt\system32 目录中找不到 6.0and。

如果没有 SQL Server 上运行 Instcat.sql,该提供程序能 toretrieve 元数据从 SQL Server 中,并因此将不能连接到该服务器。

设置数据访问的应用程序可能无法在 Windows 95/98 上

当重新发布 Visual Basic 6.0 应用程序包括数据访问组件,则安装将失败如果 DCOM 的 Windows 95 和 Windows 98isn 不能显示在 Windows 9x x 客户机。

如果您的项目包含引用 ADO,OLEDB,orODBC (您可以检查此向导的包括的文件页),该文件 Mdac_typ.exe 包 andDeployment 向导通过添加到您的安装程序包中。此文件将安装在客户端计算机上的 MDAC 2.0 文件。Windows 95 和 Windows 98 才能正常工作的 MDAC 2.0 requiresDCOM,howeverit 不执行检查此安装过程。安装程序将失败 ifDCOM,Windows 95 和 Windows 98 客户端计算机上没有。某些较旧的数据访问组件将被覆盖在 thefailure,可能会导致客户端 tofail 上的较旧的数据访问应用程序之前。

在分发数据访问应用程序的 Windows 9x x,您需要确保该 DCOM 的 Windows 95 和 Windows 98 安装在客户端上。DCOM98。EXE 是 Windows 95 或 Windows 98 设置 updatedDCOM 组件的自解压可执行文件。它可以在 Visual Basic 6.0 CD DCOM98directory 中找到。此文件可能是自由 distributedwith Visual Basic 应用程序。
参考
有关其他信息,请参阅 theMicrosoft 知识库中的以下文章 ︰
170164 ︰ 信息 ︰ VB 6.0 自述文件第 1 部分 ︰ 请先阅读重要问题 [ASCII 150] !

170162 ︰ 信息 ︰ VB 6.0 自述文件第 3 部分 ︰ 控制问题

170161 ︰ 信息 ︰ VB 6.0 自述文件第 4 部分 ︰ 语言问题

170160 ︰ 信息 ︰ VB 6.0 自述第 5 部分 ︰ 取样问题

190046 ︰ 信息 ︰ VB 6.0 自述文件第 6 部分 ︰ 向导问题

170158 ︰ 信息 ︰ VB 6.0 自述第 7 部分 ︰ 错误消息问题

189539 ︰ 信息 ︰ VB 6.0 自述第 8 部分 ︰ WebClass 设计问题

190249 ︰ 信息 ︰ VB 6.0 自述第 9 部分 ︰ DHTML 页设计器问题

170154 ︰ 信息 ︰ VB 6.0 自述第 10 部分 ︰ 可扩展性问题

170157 ︰ 信息 ︰ VB 6.0 自述文件第 11 部分 ︰ 其他问题

170156 ︰ 信息 ︰ VB 6.0 自述部分 12 ︰ 事务服务器 (MTS) 问题

191792 ︰ 信息 ︰ VB 6.0 自述一部分 13 ︰ 字典对象

191791 ︰ 信息 ︰ VB 6.0 自述部分 14 ︰ 可视组件管理器

191790 ︰ 信息 ︰ VB 6.0 自述文件第 15 部分 ︰ 应用程序性能资源管理器

属性

文章 ID:170163 - 上次审阅时间:04/10/2016 03:00:00 - 修订版本: 3.0

Microsoft Visual Basic 6.0 专业版

  • kbappsetup kbdatabase kbdatabinding kbdataenv kbinfo kbmdacnosweep kbreadme kbtophit kbwizard kbmt KB170163 KbMtzh
反馈