修改类别(单独事件写法)

1,单击按钮弹出新窗口

procedure TForm3.N22Click(Sender: TObject);
begin
Fleibie.showmodal;
end;

 

2,新窗口的oncreate事件里添加自动加载下拉菜单值;

procedure TFleibie.FormCreate(Sender: TObject);
var
  i: Integer;
  List: TStringList;
begin
 List := TStringList.Create;
try
  //刷新前全部清空原来的列表
  ComboBox1.Items.Clear;
  {建立 List}
  List.Sorted := True;           {指定排序}
  List.Duplicates := dupIgnore;  {避免重复}

  {把数据加入到 DBComboBox1}

    List.Clear;
    frmDataPool.qry需要做的事.open;
    frmDataPool.qry需要做的事.First;
    while not frmDataPool.qry需要做的事.Eof do
    begin
      List.Add(frmDataPool.qry需要做的事.FieldByName('类别').AsString);
      frmDataPool.qry需要做的事.Next;
    end;

//      for s in List do
//      begin
//        DBComboBox1.Items.Add(s);
//      end;
    //把获取到的值加载给combbobox的下拉选项里
    ComboBox1.Items:=List;
    //刷新数据库
    frmDataPool.qry需要做的事.Requery;
finally
   List.Free;
end;
  end;

 

3,单击确定按钮提交更新的类别值到数据库

procedure TFleibie.BitBtn1Click(Sender: TObject);
var
MyAdoq:TADOQuery;
LeiBie:string;
begin
  MyAdoq := TADOQuery.Create(nil);
  try
    MyAdoq.Connection := frmDataPool.ADOConnection1;
    LeiBie:=ComboBox1.text;
    with MyAdoq do
    begin
      Close;
      SQL.Text := 'UPDATE 需要做的事 SET 类别 ='+ LeiBie.QuotedString+'where 选中 = true';
      ExecSQL;
    end;
    //防止程序假死
    Application.ProcessMessages;

    //刷新纪录
  frmDataPool.qry需要做的事.Requery;

  finally
    MyAdoq.Free;
  end;

end;

 

原文地址:https://www.cnblogs.com/ddxxxb/p/7069759.html