我的理解是 Woll2Woll 中的Delphi组件直接从 BDE 继承,我们试图摆脱它以增加 Windows 7 。但我们希望保留 TwwwDbGrid 数据感知组件。
我见过一个产品(www.ethea.it),声称用模仿BDE API的工具使这个“简单”。
我想知道是否有人对此或任何其他方法有任何经验或建议?我们不想重写所有内容。
谢谢!
答案 0 :(得分:1)
我使用过Woll2Woll InfoPower组件,我不知道它们中的任何一个都对BDE有任何依赖。我相信你的理解是不正确的。由于你面前有源代码,你可以准确地告诉我什么是BDE-ONLY组件(例如TTable)是继承的,因为我的理解是它很可能从TCustomDBGrid继承或直接从TCustomControl这样的基类继承。 ,两者都没有任何BDE依赖。它适用于BDE TTable数据集或任何其他数据集。
我相信你很困惑。标准Delphi数据源和数据库感知控件适用于任何数据集组件。 GUI层(例如DB网格控件)与基础数据集类型之间没有依赖关系。任何数据集都与任何其他数据集一样。
TwwDBGrid适用于任何数据集,包括dbExpress。但是,我可能错了,因为你可能正在使用一些非常古老的那个组件,它以某种方式与BDE绑定,在不太可能的情况下,也许你可能需要一个新版本。但我对此表示怀疑。
答案 1 :(得分:1)
谢谢你们每个人!我想我明白了! (直到我遇到下一个听觉)
这是我做的:
TSQLConnection - 在设计时设置以连接数据库
TSQLquery - 定义 SQL 并将 SQLConnection 设置为TSQLConnection组件
TDataSetProvider - DataSet 设置为SQLQuery组件
TClientDataSet - ProviderName 设置为DataSetProvider组件 (那个有点令人困惑,因为Delphi 7通常在 red 中生成重要的属性,但是这个特定的不是,所以一个是试着认为这不重要)
TDataSource - DataSet 设置为ClientDataSet组件
然后,当然: TwwDBgrid - DataSource 设置为DataSource组件
(谁想到了所有这些废话?我可以开枪吗?)
ANYHOW 我失踪的重要部分:当你准备好运行查询时,有三个需要激活的东西,我只有< EM> 2
TSQLConnection(当然,我有那个)
TSQLquery,将active设置为true,或调用Open方法(我从之前的经验中获得)
TClientDataSet,将 Active 设置为true 最后一个,我不知道需要设置。我只是假设(是的,我知道,从不假设)它已经默认为活跃(为什么它不应该是?)
当然,您必须在编译和运行之前取消激活所有内容,以便在用户正确验证自己后,可以在运行时激活所有内容。
无论如何, 再次感谢 给所有帮助过的人!我真的很感激!
答案 2 :(得分:0)
我不清楚你在问什么。您是否要求进行BDE替换,只需要很少的工作就可以迁移到?如果是这样,我建议使用Sybase Advantage。他们从BDE移植时的良好记录:http://www.sybase.com/products/databasemanagement/advantagedatabaseserver/BDEtoADS。
几年前我们将一些BDE代码移植到它上面,并且对它与BDE的兼容性印象深刻。表格格式当然不同,但Delphi语法和组件(如TTable)都可用。 (有一些小的和记录在案的SQL语法差异......)
我相信它可以免费独立使用。