2

我的理解是Woll2Woll中的 Delphi 组件直接继承自BDE,我们正试图摆脱它以增加Windows 7的兼容性和稳定性。但我们希望保留TwwwDbGrid数据感知组件。

我见过一种产品(www.ethea.it),它声称使用模拟 BDE API 的工具使这变得“简单”。

我想知道是否有人对此或任何其他方法有任何经验或建议?我们不想重写所有内容。

谢谢!

4

3 回答 3

1

谢谢大家!我想我明白了!(直到我遇到下一个听力问题)

这是我所做的:

TSQLConnection——在设计时设置连接到数据库

TSQLquery -- 定义SQL并将SQLConnection设置为 TSQLConnection 组件

TDataSetProvider -- DataSet设置为 SQLQuery 组件

TClientDataSet -- ProviderName设置为 DataSetProvider 组件(这有点令人困惑,因为 Delphi 7 通常将重要的属性设置为红色,但这个特殊的不是,所以人们很容易认为它不重要)

TDataSource -- DataSet设置为 ClientDataSet 组件

然后,当然: TwwDBgrid -- DataSource设置为 DataSource 组件

(谁想出了这么多废话?我可以开枪打他吗?)

无论如何,我错过了重要的部分:当您准备好运行查询时,需要激活三件事,而我只有两个.

TSQLConnection(当然,我有那个)

TSQLquery,将 active 设置为 true,或者调用 Open 方法(我从之前的经验中得到的)

TClientDataSet, 设置Active为true 最后一个,我不知道需要设置。我只是假设(是的,我知道,从不假设)它已经默认处于活动状态(为什么不应该这样?)

然后,当然,您必须在编译和运行之前取消激活所有内容,以便您可以在用户正确验证自己之后在运行时激活所有内容。

无论如何,再次感谢所有提供帮助的人!对此,我真的非常感激!

于 2012-07-14T20:31:07.937 回答
1

我使用了 Woll2Woll InfoPower 组件,但我不知道它们中的任何一个对 BDE 有任何依赖关系。我相信你的理解是不正确的。由于您面前有源代码,因此您可以准确地告诉我继承自哪个 BDE-ONLY 组件(例如 TTable),因为我的理解是它很可能继承自 TCustomDBGrid 或直接继承自 TCustomControl 之类的基类, 两者都没有任何 BDE 依赖性。它适用于 BDE TTable 数据集或任何其他数据集。

我相信你很困惑。标准 Delphi 数据源和数据库感知控件适用于任何数据集组件。GUI 层(例如 DB 网格控件)和底层数据集类型之间没有依赖关系。任何数据集都与任何其他数据集一样。

TwwDBGrid 适用于任何数据集,包括 dbExpress。但是,我可能错了,因为您可能正在使用该组件的某个极其古老的版本,该版本以某种方式与 BDE 相关联,在这种不太可能的情况下,您可能需要一个新版本。但我对此表示怀疑。

于 2012-07-13T02:35:56.097 回答
0

我不清楚你在问什么。您是否要求迁移所需的 BDE 替代品?如果是这样,我会推荐 Sybase Advantage。他们关于从 BDE 移植的一篇很好的文章:http ://www.sybase.com/products/databasemanagement/advantagedatabaseserver/BDEtoADS 。

几年前,我们将一些 BDE 代码移植到它上面,并且对它与 BDE 的兼容性印象深刻。表格格式当然不同,但 Delphi 语法和组件(如 TTable)都是可用的。(有一些小的和记录的 SQL 语法差异......)

我相信它可以免费独立使用。

于 2012-07-12T21:44:16.820 回答