implementationuses datam;{$R *.dfm}procedure Tcfrm_stoquery.FormCreate(Sender: TObject);
begin
  dm.ADO_depot.Open;
  dm.ADO_depot.First;
   while not dm.ADO_depot.Eof do
  begin
    Combobox1.Items.Add(dm.ADO_depot.fieldbyname('DepotName').AsString);
    dm.ADO_depot.Next;
  end;
  dm.ADO_product.Open;
  dm.ADO_product.First;
    while not dm.ADO_product.Eof do
  begin
    Combobox2.Items.Add(dm.ADO_product.fieldbyname('ProductName').AsString);
    dm.ADO_product.Next;
  end;
  dm.ADO_product.Close;
  dm.ADO_depot.Close;
  with dm.adoq_cx do
  begin
  Close;
  SQL.Clear;
  SQL.Add('Select * from Storage');
  Open;
 end;
end;procedure Tcfrm_stoquery.BitBtn1Click(Sender: TObject);
begin
  dm.ADOQ_cx.Close;
  dm.ADOQ_cx.SQL.Clear;
  dm.ADOQ_cx.SQL.Add('Select * from Storage');
  dm.ADOQ_cx.SQL.Add('where (1=1) ');
  if trim(Combobox1.Text)<>'' then
  begin
   dm.ADOQ_cx.SQL.Add(' And (DepotName like :NO)');//添加条件
   dm.ADOQ_cx.Parameters.ParamByName('NO').value:='%'+combobox1.text+'%';//给参数赋值
  end;
  if trim(Combobox2.Text)<>'' then
  begin
   dm.ADOQ_cx.SQL.Add(' And (ProductName like :LNAME)');//添加条件
   dm.ADOQ_cx.Parameters.ParamByName('LNAME').value:='%'+combobox2.text+'%';//给参数赋值
  end;
  dm.ADOQ_cx.Open;
end;procedure Tcfrm_stoquery.BitBtn2Click(Sender: TObject);
begin
with dm.adoq_cx do
  begin
  Close;
  SQL.Clear;
  SQL.Add('Select * from Storage');
  Open;
 end;
end;procedure Tcfrm_stoquery.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
dm.ADO_storage.Close;
dm.ADO_product.Close;
dm.ADO_depot.Close;
dm.ADOQ_cx.Close;
release;
end;end.