有一个产品表:
ID Name
001 汽车
002 飞机在ComboBox中显示的是name字段中的值,但传递的也是name值,而我要保存的是该产品对应的ID。在asp中很方便可以通过<OPTION value="<%=rs("id")%>"><%=rs("id")%>"></OPTION>就解决,Delphi中该如何处理阿。这种情况在List中也存在这个问题。
ID Name
001 汽车
002 飞机在ComboBox中显示的是name字段中的值,但传递的也是name值,而我要保存的是该产品对应的ID。在asp中很方便可以通过<OPTION value="<%=rs("id")%>"><%=rs("id")%>"></OPTION>就解决,Delphi中该如何处理阿。这种情况在List中也存在这个问题。
如果是非顺序的,则使用dataset.locate方法
谢谢你!!
我用的是非顺序的,dataset.locate可以说的具体一点吗 checklistbox中允许多选的又该如何来获取ID呢
var
i : integer;
begin
for i := 0 to checklistbox1.Count - 1 do
begin
if checklistbox1.Checked[i] then
begin
if table1.Locate('NAME',checklistbox1.Items.Strings[i],[]) then
listbox1.Items.Add(table1.FieldByName('ID').AsString);
end;
end;
end;
begin
close;
sql.Clear;
sql.Add('select * from d_dwdm');
open;
end;
zbquery.first;
if zbquery.Locate('dwmc',trim(dbediteh7.Text),[]) then
dbediteh8.Value:=zbquery.FieldByName('dwdm').AsString
else
dbediteh8.Value:='0';
begin
ComboBox1.AddItem(rs.Name,Tobject(rs.id)); //添加对象
end;procedure TForm1.Button2Click(Sender: TObject);
var
id : integer;
begin
id := integer(ComboBox1.Items.Objects[0]); //访问对象
end;