delphi中没有像.Net那样直接把数据库中查出的数据绑定到控件上面,例如查询的是一个省份表,TcomboBox的item显示为省份名称,当选择某个省份之后获取对应的省份id。delphi 中没有这么简便的方法,请教了一位大牛级别的大神,了解到了一个非常简便的方法。
第一步创建一个类
type
THospitalClass =class(TObject)
private
Name :stirng; //名称
Id :Integer;//id
end;
第二步 在数据库中查询出来数据后创建这个对象添加进ComboBox控件中
var
Obj : THospitalClass;
{释放创建的对象,delphi 一定得注意创建之后得释放}
DestoryHospital(cmbHospital);
Obj := THospitalClass.Caeate;
obj.name :=Query.FieldBYName(‘name’).AsString;
obj.Id :=Query.FieldBYName(‘name’).AsInteger;
cmdHospital.Items.AddOBject(obj.id,Obj);
第三步 获取选中的医院所对应的id
var
Hospital : THospitalClass;
hospital :=THospital(cmbhospital.Items.Object[cmbhospital.ItemIndex]);
hosopital.id 即为我们所需要操作的id
procedure DestoryHospital(AcomboBox: TcomboBox)
var
i :Integer;
begin
for int i:=0 in AcomboBox.Items.Count-1 do
if Assigned(AcomboBox.items.Object[i])
AcomboBox.Items.Object[i].Destory;
AcomboBox.Clear;
end;
————————————————
版权声明:本文为CSDN博主「RunNick」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/CSDNmyACCP_S2/article/details/52629644