编写一个from,将主窗口的query引用进来,再使用查询既可

解决方案 »

  1.   

    ADOQuery1要通过ADO连接组件连到数据库里,加个按钮,按钮的单击事件:
    with self.ADOQuery1 do
    begin
    Close;
          SQL.Clear;
          SQL.Add(' select *  from table1  where rake like :a and name like :b and product like :c ');
          parameters.ParamByName('a').Value:='%'+Trim(edit1.Text)+'%';
          parameters.ParamByName('b').Value:='%'+Trim(edit2.Text)+'%';
          parameters.ParamByName('c').Value:='%'+Trim(edit3.Text)+'%';
          Open;
          database.ADO_CLIENT.first;
    end;
      

  2.   

    假如查空出错的话,可以先判断edit是否为空,修改代码:
    with self.ADOQuery1 do
    begin
    Close;
          SQL.Clear;
          SQL.Add(' select *  from table1 where 1=1');
          if Trim(edit1.Text)<>'' then
          begin
          SQL.Add(' and rake like :a' );
          parameters.ParamByName('a').Value:='%'+Trim(edit1.Text)+'%';
          end;
          if Trim(edit2.Text)<>'' then
          begin
          SQL.Add(' and name like :b ');
          parameters.ParamByName('b').Value:='%'+Trim(edit2.Text)+'%';
          end;
          if Trim(edit3.Text)<>'' then
          begin
          SQL.Add(' and product like :c' );
          parameters.ParamByName('c').Value:='%'+Trim(edit3.Text)+'%';
          end;      
          Open;
          self.ADOQuery1.first;
    end;哈哈,我刚改造出来一个类似的,还挺好使,应该对楼主也有用吧.
    第一条回复有个地方忘了修改,就是最后database.ADO_CLIENT.first;哈哈,那是我的代码里的,我是给把程序的数据连接和查询之类的组件都放在了名为database的数据模块里了.
      

  3.   

    还是在存储过程中写查询代码,调用的好

     
    Create proc OQ_GetOrderInfoTable 
    @Feilds varchar(1000) = '*',
    @table varchar(1000) = '*',
    @Where varchar(1000) = 'where 1=1'
    asdeclare @tempSQL nvarchar(4000)
    ----------------------
    --省略
    ----------------------
     EXECUTE sp_executesql @tempSQL这样感觉比在delphi里面写好点
      

  4.   

    “bloom2009”这位朋友,给我写好了吗?
      

  5.   

    还没有哈~~初学Delphi,现在急需参考这方面得代码!!!急啊~~~是男是女你先猜猜呢??呵呵