修改类别(单独事件写法)
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;