为什么用DELPHI 5与SQL SERVER 7相连时不能在TABLE控件上用FILTER?(100分)

  • 主题发起人 主题发起人 Mischa
  • 开始时间 开始时间
M

Mischa

Unregistered / Unconfirmed
GUEST, unregistred user!
各位前辈:
小弟在用DELPHI 5 连SQLSERVER 7时用TABLE控件,用到FILTER过滤时总是出错:
Capabilities not support.
而在用ADO TABLE控件时就没有问题。为什么?
最后能在用TABLE控件时用FILTER,因为程序已完成大半,全推翻后用ADOTABLE代价太大。

哪位大虾有办法?小弟先谢了!
100分喔!
 
在SQL SERVER上用TABLE本身就不好。
违背了基本的C/S原则。
还是改吧。:)
 
我用过,没什么问题吗
 
不会吧,您的filter中的具体内容是什么?
 
代码,代码...
 
改成ADO吧!!
 
如果用类似 like 的语句table好像是不认的
 
代码类似于:
table1.filter := 'bz=''职工''';
table1.filtered := true; //此时就出现'Capa....'的错误;

 
Table.Active属性先设为False然后True;
重建一个程序看Filter能不能用
换各字段试试
'bz'是否为字符型?
 
YUBO:

BZ是字符型。
将ACTIVE 设为FALSE和TRUE我都试过。
我在画界面的时候就试过。
不行,。

 
TTABLE 效率不如adoTable,
改用ado吧,效率高,以后还可以支持midas
 
在SQL Explorer中试一下
如果还有问题.考虑一下数据库问题.
设上下界.看是否能实现你的功能.
 
table1.filter := 'bz="职工"'如何?(用双引号,不用单引号)
 
如果都不是上面所说的问题,那可能是数据库的表的字段太多了,TABLE控件支持不了
 
有可能是如下原因:
1)filter 没有 Clusted Index
2)没有key

还记得table.refresh时delphi 也会出现同样错误?
 
I have tested using filter on a table with 20K records and no index.
Delphi5/Sql7(ODBC)
 
多人接受答案了。
 
后退
顶部