我设计用combobox1来选择查询条件(比如:作者,出版社之类),然后在edit1中输入相应的
 然后click,相应的数据在dbgrid里出现,我用的是adoquery,应该怎么实现?
  procedure Tsearch.Button1Click(Sender: TObject);
var
  v1:string;
begin
  v1:=trim(combobox1.Text);
  with adoquery1 do
  begin
    close;
    sql.Clear;
    sql.Add('select * from library_store where "v1"=v2');
    parameters[0].value:=trim(edit1.Text);
    open;
  end;
end;
我这样行么?

解决方案 »

  1.   

    procedure Tsearch.Button1Click(Sender: TObject);
    begin
      v1:=trim(combobox1.Text);
      with adoquery1 do
      begin
        close;
        sql.Clear;
        sql.Add('select * from library_store where :V1 = :V2 ');
        parameters.parambyname('V1').asstring := trim(combobox1.Text);
        parameters.parambyname('V2').asstring := trim(edit1.Text);
        open;
      end;
    end;
      

  2.   

    有点疑问:
       v1 在前面没有声明,后面直接就给赋值,这样不对吧
       而且后面也没有用到v1,那还要它有什么用?
    我是super菜鸟,也许问的不对