with qry1 do
  begin
  Close;
  sql.Clear;
  sql.Text:='select case when '''+strTofloat(edt3.Text)+'''>10 then MuchLevel10 else 0 end as MuchLevelD from ClientPriceKT where Client='''+Edit2.Text+''' and (ContactCity like ''%''+'''+Edit3.Text+'''+''%'')';
  Open;
  edt1.Text:=fieldbyname('MuchLevelD').AsString;
  end;
SQL语句出错,请大家帮我看看,谢谢!

解决方案 »

  1.   

    大概看了下,strTofloat(edt3.Text)这的问题吧,语句太乱了  
      

  2.   

    sql写的太差了,是不是还不会写,问题太多了,基本语法都不对select后面也要跟你选择什么呀when后面跟字段名,strTofloat(edt3.Text)能是字段名吗,而且字段名也不能加引号啊
      

  3.   

    还是让我来终结吧。with qry1 do
      begin
      Close;
      sql.Clear;
      sql.Text:='select case when '+edit3.Text+'>10 then MuchLevel10 else 0 end as MuchLevelD from ClientPriceKT where Client='''+Edit2.Text+''' and (ContactCity like ''%'+Edit3.Text+'%'')';
      Open;
      edt1.Text:=fieldbyname('MuchLevelD').AsString;
      end;拿分来。全分。
      

  4.   

    给3楼满分,说实在的,其它的好象不懂只会瞎叫。
    语句不乱,不信你COPY到ULTRAEDIT中去看
    其实就是'''+strTofloat(edt3.Text)+'''这里的原因
      

  5.   

    不仅是'''+strTofloat(edt3.Text)+'''这里的原因,
    后面的''%''+'''+Edit3.Text+'''+''%''也是错的。
    呵呵。