select * from 费用表 where 费用代号=:s1在程序中设置
ADOQuery2.Parameters[0].Value:=edit4.text;

解决方案 »

  1.   

    你改一下吧;
    with adoquery do
    beign
      close;
      sql.clear;
      sql.add('select * from 费用表 where 费用代号 = :a');
      params.items[0].asstring :=edit4.text;
      open;
    end;
      

  2.   

    'select * from 费用表 where 费用代号='''+#39+edit4.text+''''
    试试看。
      

  3.   

    'select * from 费用表 where 费用代号='+''''+edit4.text+''''
      

  4.   


    那就不是sql的问题
    把代码贴出来吧
      

  5.   

    'select * from 费用表 where 费用代号='+ '"' + edit4.text + '"';
      

  6.   

    应该是
    with adoquery do
    beign
      close;
      sql.clear;
      sql.text:=format('select * from 费用表 where 费用代号 = "%s"',[edit1.text]);
      execsql;
    end;
      

  7.   

    还是不行?是那个不行啊?你说清楚;
    =================================================
    with adoquery do
    beign
      close;
      sql.clear;
      sql.add('select * from 费用表 where 费用代号 = :a');
      params.items[0].asstring :=edit4.text;
      open;
    end;
    ====================================================
    不行吗?
    with adoquery do
    beign
      close;
      sql.clear;
      sql.add('select * from 费用表 where 费用代号 =+''''+edit4.text''''+');
      params.items[0].asstring :=edit4.text;
      open;
    end;
    行吗?
      

  8.   

    还是不行?是那个不行啊?你说清楚;
    =================================================
    with adoquery do
    beign
      close;
      sql.clear;
      sql.add('select * from 费用表 where 费用代号 = :a');
      params.items[0].asstring :=edit4.text;
      open;
    end;
    ====================================================
    不行吗?
    上边有一点写错了
    with adoquery do
    beign
      close;
      sql.clear;
      sql.add('select * from 费用表 where 费用代号 =+''''+edit4.text''''+');
      open;
    end;
    行吗?
      

  9.   

    1:你把query设计期的param参数给删除了看一看;
    2:你换一个query
      

  10.   

    select * from 费用表 where 费用代号=:var
    ADOQuery2.Parameters[0].Value:=edit4.text;
      

  11.   

    procedure Tsfform.Edit4KeyPress(Sender: TObject; var Key: Char);
    begin
    if key=#13 then
    begin
    inputfrm.close;
    if edit4.text<>'' then
    begin
    fyquery.Close;
    fyquery.sql.clear;
    fyquery.SQL.text:='select * from 费用表 where 费用代号='+#39+edit4.Text+#39;
    fyquery.open;
    if fyquery.recordcount>0 then
    begin
    edit5.Text:=trim(fyquery.fieldbyname('名称').AsString);
    edit7.SetFocus;
    end
    else
    begin
    errmessage('无效的费用代号!');
    edit4.Text:='';
    edit4.SetFocus;
    end;
    end
    else
    edit4.SetFocus;
    end;
    end;
      

  12.   

    字段名最好不用汉字,
    把字段名"费用代号"改成英文如fydh试试
      

  13.   

    你的数据库表有问题吧...你把所有记录delete后,再试....
      

  14.   

    if edit4.text<>'' then
    begin
    fyquery.Close;
    fyquery.sql.clear;
    fyquery.SQL.text:='select * from 费用表 where 费用代号='+#39+edit4.Text+#39+';//这儿错了
    fyquery.open;
      

  15.   

    fyquery.SQL.text:='select * from 费用表 where [费用代号]='+#39+edit4.Text+#39;
    试试如何