procedure TForm1.ComboBox2Change(Sender: TObject);
begin
combobox2.Items.Clear ;
adoquery1.First ;
with adoquery1 do
begin
while not adoquery1.Eof do
begin
combobox2.Items.Add(adoquery1.fieldbyname('name').asstring);
adoquery1.Next ;
end;
end;
end;
这不行么?哪位大侠帮帮忙啊?
begin
combobox2.Items.Clear ;
adoquery1.First ;
with adoquery1 do
begin
while not adoquery1.Eof do
begin
combobox2.Items.Add(adoquery1.fieldbyname('name').asstring);
adoquery1.Next ;
end;
end;
end;
这不行么?哪位大侠帮帮忙啊?
解决方案 »
- Delphi如何实现MDI各个子窗体的最大化、还原互不影响
- 想学习用纯API实现多线程的知识,请推荐下学习资料和方法
- 学Spring了,用了一晚上写Blog将D的知识点总结了一下~希望对大家有帮助~另承接外包。求职~长三角、珠三角都可
- 怎样获取系统中加载的所有DLL文件列表?
- 怎么给boolean类型的变量赋一个相反值?
- 关于打印报表到最后几页时如何去除列标题的疑难---请高手相助
- activeX控件是如何处理消息循环的(不够在加分)
- 上海合租住房!请版主先别删!
- Delphi 与Excel
- delphi7使用XPManifest控件后,程序在64位系统中不能输入中文问题(乱码)
- if判斷語句。
- TWindowsMediaPlayer播放在线视频显示波形
begin
close;
sql.Clear ;
sql.Add('select name form area');
open;
if adoquery1.RecordCount =0 then exit;
combobox2.Items.Clear ;
adoquery1.First ;
for i:=0 to adoquery1.recordcount-1 do
begin
combobox2.Items.Add(adoquery1.fieldbyname('name').AsString );
adoquery1.Next ;
end;
end;
end.
也不行啊?为什么
你把
'select name form area'
改为
'select * form area'
试试
然后在再
with adoquery1 do
begin
close;
sql.Clear ;
sql.Add('select name form area');
open;
if adoquery1.RecordCount =0 then exit;
combobox2.Items.Clear ;
adoquery1.First ;
for i:=0 to adoquery1.recordcount-1 do
begin
Application.ProcessMessages; //加上这句话
combobox2.Items.Add(adoquery1.fieldbyname('name').AsString );
adoquery1.Next ;
end;
Refresh; //加上这句话
end;
var i:integer;
begin
combobox2.Items.Clear ;
adoquery1.Open ;
with adoquery1 do
begin
close;
sql.Clear ;
sql.Add('select * form area');
open;
if adoquery1.RecordCount =0 then exit;
combobox2.Items.Clear ;
adoquery1.First ;
for i:=0 to adoquery1.recordcount-1 do
begin
application.ProcessMessages ;
combobox2.Items.Add(adoquery1.fieldbyname('name').AsString );
adoquery1.Next ;
end;
refresh;
end;
end;
这样还是没达到效果啊?
while not adoquery1.Eof do
begin
combobox2.Items.Add(adoquery1.fieldbyname('name').AsString );
adoquery1.Next;
end;
你把你的For循环改成这样试一下
放在Form的OnShow事件中试试看
var i:integer;
begin
combobox2.Items.Clear ;
adoquery1.Open ;
with adoquery1 do
begin
close;
sql.Clear ;
sql.Add('select * form area');
open;
if adoquery1.RecordCount =0 then exit;
combobox2.Items.Clear ;
adoquery1.First ;
for i:=0 to adoquery1.recordcount-1 do
begin
application.ProcessMessages ;
combobox2.Items.Add(adoquery1.fieldbyname('name').AsString );
adoquery1.Next ;
end;
refresh;
end;
end;
还是不行,好出现问题
大概是这样的ADOQUERY1:Missing SQL property
var i:integer;
begin
combobox2.Items.Clear ;
with adoquery1 do
begin
close;
sql.text := 'select * from area';
Open;
while not eof do
begin
combobox2.Items.Add(fieldbyname('name').AsString );
next;
end;
end;这样试试
var i:integer;
begin
combobox2.Items.Clear ;
with adoquery1 do
begin
close;
sql.text := 'select * from area';
Open;
while not eof do
begin
combobox2.Items.Add(fieldbyname('name').AsString );
next;
end;
end;
这样也是可以的吧!