我用的是SQL server2000+delphi6,用下面这个语句是总是不行table1.Filter:='ID='''+edit1.Text+'''';
  table1.Filtered:=True;
  Table1.Open;我用Interbase和Access分别建同样的表,这两个都可以正确的执行,sql我反复试
过都不行,是不是SQL server2000不支持filter???

解决方案 »

  1.   

    table1.Filter:='ID='+''''+edit1.Text+'''';
      

  2.   

    table1.Filter:='ID='+edit1.Text;table1.Filter:='ID='+''''+edit1.Text+'''';
    这两个都不行!
      

  3.   

    用在ACCESS或interbasae中倒可以!
      

  4.   

    table1.Filter:='ID='+edit1.Text;//Passtable1.Filter:='ID='+''''+edit1.Text+'''';//Cannot Pass
      

  5.   

    table1.Filter:='ID='+''''+edit1.Text+'''';
    你的id如果是字符型上面的一定可以。
      

  6.   

    Table1.Open;
    table1.Filter:='ID='''+edit1.Text+'''';
    table1.Filtered:=True;
      

  7.   

    你可以用sql的Profiler 看一下,到底是什么语句,再把这条语句拿到Query Analyzer运行一下,如果有结果出来 如果没有结果出来就是语然不对了。
      

  8.   

    又try了一下,像yzykjh(yzykjh) 那样
    Table1.Open;
    table1.Filter:='ID='''+edit1.Text+'''';
    table1.Filtered:=True;调了个顺序,table1.Filter:='ID='+edit1.Text;
    table1.Filter:='ID='+''''+edit1.Text+'''';
    都可以。看来是语句的顺序问题!