Query1.close;
   Query1.SQL.Clear ;  Query1.SQL.Add('select * from 接处警登记表') ;
    Query1.SQL.Add('where 接警时间 LIKE ‘’2003-5%‘’') ;
Query1.Prepare;
Query1.Open;
如果2003-5是个变量该怎么写

解决方案 »

  1.   

    with Query1 do
    begin
      Close;
      SqL.text := 'select * from 表名 where sj like'''+ TargetDate+'''';
      Open;
       ....
    end;
      

  2.   

    Query1.SQL.Add('where 接警时间 LIKE '+'''+变量+'')';
      

  3.   

    Query1.SQL.Add('where 接警时间 LIKE '''+DataValue+'''') ;
      

  4.   

    如果你的“报警时间”一字段是字符类型的话,可以这样写:
    Query1.SQL.Clear ;
    Query1.SQL.Add('select * from 接处警登记表') ;
    Query1.SQL.Add('where 接警时间 LIKE :sj');
    Query1.ParamByName('sj').asString:='2003-5%';
    Query1.Prepare;
    Query1.open;//即通过 :参数名 的形式定义参数
    //通过 ParamByName('参数名').As...(如String)的形式给参数赋值。
      

  5.   

    用  Query1.SQL.Add('where 接警时间 LIKE '+变量+';');
    或者Query1.SQL.Add(format('where 接警时间 LIKE ‘’$%x‘’',变量名)) ;
    $%x代表变量,不过我没有用过,只是记得书上这么写的
      

  6.   

    Query1.Close;
    Query1.SQL.Clear ;
    Query1.SQL.Add('select count(*) from 救助服务表 where 填表时间 LIKE ''2003-25%''');
    Query1.Prepare;
    Query1.Open;
    怎么这样写从SQL数据库中查不出个数,一直显示0
    在SQL中定义填表时间是datetime型的不知道错在哪里
      

  7.   

    Query1.SQL.Add('select count(*) from 救助服务表 where 填表时间 LIKE ''2003-25%''');
    仔细看了你的语句,你看你的2003-25%就是不对的!等你修改了继续提问!
      

  8.   

    LIKE ''2003-25%''')有问题,好象要三个引号,等等我查查我的代码