用ADOTABLE.FILTER过滤数据在DBGRID后,想DBGRID还原为原来没有过滤的数据,怎么样做。(10分)

  • 主题发起人 主题发起人 潮州人
  • 开始时间 开始时间

潮州人

Unregistered / Unconfirmed
GUEST, unregistred user!
用ADOTABLE.FILTER过滤数据在DBGRID后,想ADOTABLE还原为原来没有过滤的数据,怎么样做。

ADOTABLE.aciton := false;
ADOTABLE.aciton := true;
不行.
 
Filterd:=false
ADOTABLE.aciton := false;
ADOTABLE.aciton := true;
 
adotable.fileterd:=false;
dbrid1.refresh;
就可以了
 
Filter := '';
或者
Filterd := false
 
同意。
给一点小意见:
别用Table了,选取数据十分不方便。
用Query吧。sql语句更有效率。
 
我想问一下用ADODataSet,ADOTable,ADOQuery,这三个谁占用你资源比较少,(要实现对表的查询,
增加,删除,修改,那个更适合于Master/Detall应用程序)
 
ADOQuery更有效!!更好用,我从来不用TABLE之类的!!
 
ADOQuery快,打开记录非常多的表明显快于ADOTable
 
filtered:=false;

效率问题,内存与速度是相互矛盾的,
对于频繁使用的表,可以用TADOTABLE
然后用filter过滤,

我有如下建议
1、用于查找的字段一定要建立主健或索引
  2、SQL一定要加WHERE子句
  3、对于填加数据,返回表时一定要返回空表(select * from XXX where id=null)
4、在返回数据集后,尽量用recordset.find 查找,应为是在本地内存中操作,通常在千分之一秒之内就可返回结果
  5、在SQL SERVER里建表时,可以在定义列时在公式栏填写列间计算关系(例如金额=单价*数量,这样金额就可以自动计算了,不用填写了)
  6、用那一个字段就用那一个字段,不要用select * from xxx这样的语句,


 
唉,来晚了
该说的都让楼上的给说了
反正我用SQL,至少它能比较好的跨数据库平台连接;)
 
附带想问一下:ADOQuery中可以用join吗?
left outer join/right outer join/inner join
 
怎么保存呢,用ADOQUERY,我无法保证在输入完数据或修改其中一个DETAIL数据,然后保存
因为每次都将所有记录又保存了一次。怎么解决呢
 
哎,来晚了,To:潮洲人,像dhl2001说的一样呀。
 
后退
顶部