st:='select count(distinct t_smsnr) from t_sms  where t_add_time between convert(datetime,''2003-11-01'')  and convert(datetime,''2003-12-31'') and t_telenum<''134''';
query1.SQL.Clear;
query1.SQL.Add(st);
query1.Open;
这样一执行就长时间没反应,但在查询分析器里就很快可以得出结果。

解决方案 »

  1.   

    有无把t_telenum<''134'''放在t_add_time between convert(datetime,''2003-11-01'')  and convert(datetime,''2003-12-31'')前面试试
      

  2.   

    把ADO的命令超时属性改大一点,默认的是1分钟。
      

  3.   

    用QUERY不行么?litongling(和觉)的方法我试过不行噢
      

  4.   

    你把Convert去了,我想直接比较datatime型就可以的
      

  5.   

    因为你只找的是一个 T_smsnr 这个字段。在SQL里是可以的。但是在DELPHI中他只是返回出 T_smsnr 这一列的东西。 你想要的时间字段不在这里面,它会出错, 
    个人理解,有不对的望见谅。  祝 你 好 运 !!!