请教TABLE控件的做法?(100分)

  • 主题发起人 主题发起人 蒋劲刚
  • 开始时间 开始时间

蒋劲刚

Unregistered / Unconfirmed
GUEST, unregistred user!
DELPHI现有的TABLE控件,有很多不尽人意的地方。
因此我想写一个自己的TABLE控件,但我看了TTABLE,
TDATASET的代码后,觉得有很多地方不明白,有做过
类似控件的先生小姐们,请帮忙讲一下原理,谢谢!!
 
你可以写一个自定义的数据集

在Delphi3 编程指南 中有详细的介绍
 
是由Tdataset继承一个自定义数据集吗?
 
不错!
TTable,TQuery都是从TDataSet继承的,
你也就从TDataSet开始继承,
还有一个好的建议就是:如果你是增强Table的功能的话从TTable开始继承是
最好,最容易的!
 
我现在是想写一个ttable替换掉原来的ttable,
都需要了解一些什么技术,大家给点建议好吗?
 
我也想知道!
 
你替换的目地是什么?
 
我的目的是减少TTABLE中的繁琐程序,提高其性能。
 
我也想知道
 
从TDataSet继承下来更好,可以抛弃BDE,但写的东西更多
 
有写过的吗?讨论一下实现时的注意事项,大家继续
 
没必要,建议用ADOQUERY
成批修改用sql存储过程。
 
用ADOQUERY?好象也有些不足吧。例如: 它返回的记录数就不对。不要说用Select count(*)来获取,我要做的就是不要用其它的方法来实现这些功能,按道理在一个DATASET上这些属性应该可以获得正确的结果的,为何DELPHI的DATASET做不到呢,我不太明白,请大家讨论
 
例如: 它返回的记录数就不对。不要说用Select count(*)来获取,

加一句
AdoQuery1.LastRecord;
即可获得真正的记录数。
 
不知道你所说的TTable不足的地方是什么?
我们可以一个一个解决啦。。。
 
如果数据表记录数很多时,AdoQuery1.LastRecord;的执行时间是很可观的,你可以做个实验,比SELECT COUNT(*)要慢很多,有时甚至造成死机。
之所以我要了解TTABLE的写法,就是想了解DELPHI操作数据库时的基本方法,去掉一些为了兼容各种表而写的代码,形成针对某种表并且效率有所提高的专用的TTABLE组件。
 
TTable 是面向桌面数据库的控件,没什么不好的,也没有必要改它
如果连接数据库服务器,大可以用TQuery,TUpdateSQL,TADOQuery,TADODataSet...
 
后退
顶部