请问怎么把数据显示在一个ComboBox控件中

jenemery 2002-05-23 09:20:32
数据库中的信息如下(Department_Info):

Department_Code Department_Name
------------------------------------------
001 行政部
002 财务部
003 人力资源部
------------------------------------------

请问我怎么用一个ClientDataSet控件把那些部门名字显示在一个ComboBox控件中?
查询语句如下:
var
i:integer;
str:string;
begin
ClientDataSet1.Close;
ClientDataSet1.CommandText:='select * from Department_Info';
ClientDataSet1.Open;
str:=ClientDataSet1.FieldByName'Department_Name').Asstring
for i:=0 to ClientDataSet1.RecordCount-1 do
ComboBox.Item.Add(str);
ClientDataSet1.Next;
end;

请问这样写对吗?

...全文
49 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
3366 2002-05-23
  • 打赏
  • 举报
回复
for i:=0 to query.RecordCount-1 do
begin
ComboBox.Item.Add(query[i]); //错,for 循环应该加begin end指定范围
query.Next;
l_xiaofeng 2002-05-23
  • 打赏
  • 举报
回复
我用的是’特别的猫‘的方法
F1OnEverest 2002-05-23
  • 打赏
  • 举报
回复
来晚了!

同意

—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”等';
I.Desire := '加不加分随你';
—————————————————————————————————

cxx1997 2002-05-23
  • 打赏
  • 举报
回复
var
i:integer;
str:string;
begin
ClientDataSet1.Close;
ClientDataSet1.CommandText:='select * from Department_Info';
ClientDataSet1.Open;
str:=ClientDataSet1.FieldByName'Department_Name').Asstring //错,这样每次都加的同一个STR!应该放到for循环中去!
for i:=0 to ClientDataSet1.RecordCount-1 do
ComboBox.Item.Add(str); //错,for 循环应该加begin end指定范围
ClientDataSet1.Next;
end;
yglyjf 2002-05-23
  • 打赏
  • 举报
回复
query1.active:=false;
query1.sql:='select * from Department_Info';
query1.active:=true;
While not query1.eof do
begin
Combobox1.Items.Add(query1.FieldByName('Department_Name').Asstring);

Combobox1.Values.Add(query1.FieldByName('Department_Code').Asstring);
Next;
end;
yglyjf 2002-05-23
  • 打赏
  • 举报
回复

query1.active:=false;
query1.sql:='select * from Department_Info';
query1.active:=true;
While not eof do
begin
Combobox1.Items.Add(query1.FieldByName('Department_Name').Asstring);

Combobox1.Values.Add(query1.FieldByName('Department_Code').Asstring);
Next;
end;
Afei1 2002-05-23
  • 打赏
  • 举报
回复
同意上面
chinaway 2002-05-23
  • 打赏
  • 举报
回复
for循环里边少了一个begin end;其它的倒没什么,应该可以用。
Carfield 2002-05-23
  • 打赏
  • 举报
回复
begin
with ClientDataSet1 do
begin
Close;
CommandText:='select * from Department_Info';
Open;
While not eof do
begin
Combobox1.Items.Add(FieldByName('Department_Name').Asstring);
Next;
end;
end;


star_of_light 2002-05-23
  • 打赏
  • 举报
回复
ClientDataSet1.Close;
ClientDataSet1.CommandText:='select * from Department_Info';
ClientDataSet1.Open;
ComboBox1.Clear;
ClientDataSet1.First;
While not ClientDataSet1.Eof do
begin
ComboBox.Items.Add(ClientDataSet1.FieldByName('Department_Name').Asstring);
ClientDataSet1.Next;
end;
lxpbuaa 2002-05-23
  • 打赏
  • 举报
回复
begin
ClientDataSet1.Close;
ClientDataSet1.CommandText:='select * from Department_Info';
ClientDataSet1.Open;
while Not ClientDataSet1.Eof do
begin ComboBox.Items.Add(ClientDataSet1.FieldByName'Department_Name').Asstring);
ClientDataSet1.Next;
end;



—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”等';
I.Desire := '加不加分随你';
—————————————————————————————————


       
Snakeguo 2002-05-23
  • 打赏
  • 举报
回复
ComboBox.Items.Clear;
ClientDataSet1.First;
while not ClientDataSet1.Eof do
begin
ComboBox.Item.Add(str);
ClientDataSet1.Next;
end;

5,930

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧