'select * from ybinfo where ybid='''+edit.text+''''

解决方案 »

  1.   

    query.sql.add('select * from ybinfo where ybid=:p1');
    query.paramters[0].value:=edit1.text;
      

  2.   

    with ADOQuery1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from YBINFO where YBID = :YBID);
      Parameters.ParamByName('YBID').Value := EDIT1.Text;
      Open;
    end;
      

  3.   

    这样才对:
    with ADOQuery1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from YBINFO where YBID = :YBID');
      Parameters.ParamByName('YBID').Value := EDIT1.Text;
      Open;
    end;
      

  4.   

    只有Snakeguo(楠) 对
    其它的兄弟不行的
      

  5.   

    楼上:你忘了创建parameters了:
    with ADOQuery1 do
    begin
      Close;
      Parameters.Clear;
      SQL.Clear;
      SQL.Add('select * from YBINFO where YBID = :YBID');
      Parameters.ParseSQL(SQL.Text,True);
      Parameters.ParamByName('YBID').Value := EDIT1.Text;
      Open;
    end;
      

  6.   

    with ADOQuery1 do
    begin
      Close;
      Parameters.Clear;
      SQL.Clear;
      SQL.Add('select * from YBINFO where YBID = :YBID');
      Parameters.ParamByName('YBID').asstring := EDIT1.Text;
    //也可以用Parameters.Params['YBID'] := EDIT1.Text;
      Open;
    end;
      

  7.   

    我早就说过,如果每次都重新生成SQL,就没必要使用参数.象dreamfan(★这个月辞职★) 这样就行了.写全了就是:
    with ADOQuery1 do
    begin
      Close;
      Parameters.Clear;
      SQL.Clear;
      SQL.Add('select * from ybinfo where ybid='''+Edit1.Text+'''');
      //或SQL.Add(Format('select * from ybinfo where ybid = ''%s''',[Edit1.Text]);
      Open;
    end;