,关于ComboBox1被选后取同一记录的另一个值有关问题
求助,关于ComboBox1被选后取同一记录的另一个值问题
现有数据表如下:
------------------------------
【数据表】
ID NAME
1 RED
2 BLUE
3 YELLOW
5 GREEN
6 BLACK
7 WHITE
... ...
ID可能不连贯。
以下代码能把表里数据读到ComboBox1
-----------------
procedure TForm1.ComboBox1DropDown(Sender: TObject);
begin
with AdoQuery1 do
begin
close;
sql.clear;
sql.add('select * from table');
open;
combobox1.items.clear;
while not eof do
begin
combobox1.items.add(fieldbyname('NAME').asstring);
next;
end;
end;
end;
---------------------------
选择字段为“NAME”,但我需要获取的是ID字段,请问如何解决???
------解决方案--------------------
------解决方案--------------------
我一般这么做……不一定最好,但能解决。
定义一个全局或者本单元变量
var
sl: TStringList;
然后在获取数据语句中这样写:
sl.clear;
combobox1.clear;
循环添加
sl.add(fieldbyname('NAME').asstring + '=' + fieldbyname('ID').asstring);
combobox1.items.add(fieldbyname('NAME').asstring);
用的时候就是:
showmessage(sl.Values[combobox1.text]);
现有数据表如下:
------------------------------
【数据表】
ID NAME
1 RED
2 BLUE
3 YELLOW
5 GREEN
6 BLACK
7 WHITE
... ...
ID可能不连贯。
以下代码能把表里数据读到ComboBox1
-----------------
procedure TForm1.ComboBox1DropDown(Sender: TObject);
begin
with AdoQuery1 do
begin
close;
sql.clear;
sql.add('select * from table');
open;
combobox1.items.clear;
while not eof do
begin
combobox1.items.add(fieldbyname('NAME').asstring);
next;
end;
end;
end;
---------------------------
选择字段为“NAME”,但我需要获取的是ID字段,请问如何解决???
------解决方案--------------------
....
combobox1.AddItem('RED', TObject(id){1}); //添加数据
ShowMessage('id:' + Pchar(combobox1.Items.Objects[0])); // 取ID
....
------解决方案--------------------
我一般这么做……不一定最好,但能解决。
定义一个全局或者本单元变量
var
sl: TStringList;
然后在获取数据语句中这样写:
sl.clear;
combobox1.clear;
循环添加
sl.add(fieldbyname('NAME').asstring + '=' + fieldbyname('ID').asstring);
combobox1.items.add(fieldbyname('NAME').asstring);
用的时候就是:
showmessage(sl.Values[combobox1.text]);