另一个combobox赋值的问题(50分)

  • 主题发起人 主题发起人 zhouwenlin_1
  • 开始时间 开始时间
Z

zhouwenlin_1

Unregistered / Unconfirmed
GUEST, unregistred user!
form1 中有一个edit和一个button
点击button,将edit中的值添加到表aa
GO
CREATE TABLE [dbo].[aa] (
[a] [int] primary key IDENTITY (1, 1) NOT NULL
[nvarchar] (50) NULL
) ON [PRIMARY]
Form2.show;
form2中有个combobox,要将赋值给combobox
procedure TForm2.FormCreate(Sender: TObject);
begin
DataModule1.ADOTable1.close;
DataModule1.ADOTable1.Open;
while not DataModule1.ADOTable1.Eofdo
begin
Form2.ComboBox1.Items.Add(DataModule1.ADOTable1.FieldByName('b').AsString);
DataModule1.ADOTable1.Next;
end;
end;
但是这么做为什么ComboBox1显示的值总是比添加的慢呢,也就是说,最新在form1中添加的值无法在添加后就显示在ComboBox1中,需要再新添加的时候才能将上一次添加的值显示出来!总是慢一拍,呵呵,为什么呢??先谢谢各位了
 
再FORM2创建前看一下数据有没提交
 
procedure TForm2.FormCreate(Sender: TObject);
begin
DataModule1.ADOTable1.close;
DataModule1.ADOTable1.Open;
DataModule1.ADOTable1.first;
while not DataModule1.ADOTable1.Eofdo
begin
Form2.ComboBox1.Items.Add(trim(DataModule1.ADOTable1.FieldByName('b').AsString));
DataModule1.ADOTable1.Next;
end;
end;
加个 first 及 trim
 
我这样做了还是不行啊,点击按钮后,确定已经提交了啊,在表里已经看到添加的值了啊
 
procedure TForm1.Button1Click(Sender: TObject);
begin
with DataModule1.ADOTable1do
begin
DataModule1.ADOTable1.Open;
DataModule1.ADOTable1.First;
DataModule1.ADOTable1.Append;
DataModule1.ADOTable1.FieldByName('bb').AsString:=Edit1.Text;
DataModule1.ADOTable1.Post;
Form3.Show;
end
end;
这是添加的代码
 
procedure TForm2.FormCreate(Sender: TObject);
begin
DataModule1.ADOTable1.close;
DataModule1.ADOTable1.Open;
DataModule1.ADOTable1.first;
Form2.ComboBox1.clear;
while not DataModule1.ADOTable1.Eofdo
begin
Form2.ComboBox1.Items.Add(trim(DataModule1.ADOTable1.FieldByName('b').AsString));
DataModule1.ADOTable1.Next;
end;
end;
 
procedure TForm2.FormShow(Sender: TObject);
begin
DataModule1.ADOTable1.close;
DataModule1.ADOTable1.Open;
DataModule1.ADOTable1.first;
while not DataModule1.ADOTable1.Eofdo
begin
Form2.ComboBox1.Items.Add(trim(DataModule1.ADOTable1.FieldByName('b').AsString));
DataModule1.ADOTable1.Next;
end;
end;
应该把代码写在OnShow事件里。
 
谢谢 偶尔幽默 你的解答解决了我的问题,但上面几位兄弟也辛苦了,兄弟我分有限,也分他们点表示感谢,谢谢大家
 
后退
顶部