where 条件1 and 条件2 and条件3就行了呀?

解决方案 »

  1.   

    我当然知道啦,关键是这sql怎么写啊。
    我是这样写的:select * from mytable where iodate>2000-5-11 and iodate<2001-6-12 and ((iotime between 8:20 and 8:30) or (iotime between 5:30 and 6:00)) and uname=秦明可是总是报语法错误,怎么回事啊,应该怎么写啊。
      

  2.   

    select * from mytable where iodate>'2000-5-11' and iodate<'2001-6-12' and ((iotime between '8:20' and '8:30') or (iotime between '5:30' and '6:00')) and uname='秦明'
      

  3.   

    当然是语法错误了,用参数替换吧,比如:select * from mytable where (field1>:temp1) and (field1<:temp2) and (field2>:temp3) and ...();
    parambyname(temp1).asstring:=‘你需要替换的参数值’;
    parambyname(temp2).asstring:=‘你需要替换的参数值’;
    parambyname(temp3).asstring:=‘你需要替换的参数值’;应该没有问题了。
      

  4.   

    iotime between '5:30' and '6:00'是不是要写成iotime between '5:30:00' and '6:00:00'呢?
      

  5.   

    还是用参数感觉更好一些,程序比较明了
    select * from mytable where (field1>:temp1) and (field1<:temp2) and (field2>:temp3) and ...();
    parambyname(temp1).asstring:=‘你需要替换的参数值’;
    parambyname(temp2).asstring:=‘你需要替换的参数值’;
    parambyname(temp3).asstring:=‘你需要替换的参数值’;
      

  6.   

    你用什么数据库,可能PARADOX的话,用参数传递比较好。
    完全同意
    cooer(爱好者) 
      

  7.   

    ……
    query1.sql.add(' where uname=:thename');
    parambyname('thename').asstring:='秦明';
    query1.active:=true;怎么报错说:Undeclared identifier:'Parambyname'
               Missing operator or semicolon
    呢?
      

  8.   

    Query1.ParamByName().AsDate
    Query1.ParamByName().AsTime
    Query1.ParamByName().AsString
      

  9.   

    where iodate>'2000-5-11' and iodate<'2001-6-12'IODATE是日期型的,怎么办?是不是要把后面的转成日期型呢?还是把iodate转成字符型?
      

  10.   

      if time()>strtotime('08:20:00') then在这里我可以这样判断,可是我怎么在sql里判断日期呢?
      

  11.   

    //每种数据库的日期时间表达有些差异
    where iodate>'05/11/2000' and iodate<'06/12/2001'
      

  12.   

    select * from mytable 
    where (iodate between '2000-5-11' and '2001-6-12') 
      and ((iotime between '8:20' and '8:30') or 
           (iotime between '5:30' and '6:00')) 
      and uname='秦明'