在登陸視窗中,combobox顯示資料庫中的用戶名,并用到了以下句子:
procedure TLogin.ComboBox1DropDown(Sender: TObject);
var
i:integer;
begin
Adoquery1.Close;
Adoquery1.SQL.Clear;
Adoquery1.SQL.Add('select 姓名 from 用戶清單');
Adoquery1.Open;
while not adoquery1.Eof do
begin
combobox1.Items.Add(adoquery1.fieldbyname('姓名').AsString);
adoquery1.Next;
end;
end;
現在的問題是資料庫中只有sys一個用戶,但每次點擊combobox都會增加一個sys用戶選項,
uj5u.com熱心網友回復:
加上 combobox1.Items.Clear;
procedure TLogin.ComboBox1DropDown(Sender: TObject);
var
i:integer;
begin
combobox1.Items.Clear;
Adoquery1.Close;
Adoquery1.SQL.Clear;
Adoquery1.SQL.Add('select 姓名 from 用戶清單');
Adoquery1.Open;
while not adoquery1.Eof do
begin
combobox1.Items.Add(adoquery1.fieldbyname('姓名').AsString);
adoquery1.Next;
end;
end;
uj5u.com熱心網友回復:
樓上對的 用戶名下拉框 也可以不放在DropDown事件的uj5u.com熱心網友回復:
這是代碼被重復執行多次的問題。建議在From.OnCreat事件中,加入上述代碼。代碼只執行一次。
uj5u.com熱心網友回復:
我個人也建議 不要放在 DropDown 事件下,如確實需要請加上 combobox1.Items.Clear;uj5u.com熱心網友回復:
正解!
uj5u.com熱心網友回復:
初始化用戶只需要加載一次,放在OnShow 或OnCreate里面就可以了。uj5u.com熱心網友回復:
combobox1.Items.Clear或在OnShow 或OnCreate加載轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/113175.html
標籤:語言基礎/算法/系統設計
