Delphi 将列表框的一行与DB表的一行相关联

Delphi 将列表框的一行与DB表的一行相关联,delphi,listbox,Delphi,Listbox,如何将列表框的一行与DB表的一行相关联 我创建了一个firemonky移动应用程序。我在表格上放了一个列表框。列表框中填充了来自数据库的项目 zQuery1.Close; ZQuery1.Open; ListBox1.Items.Clear; While not ZQuery1.Eof do Begin ListBox1.Items.Add(ZQuery1.Fields[1].AsString); ZQuery1.Next;

如何将列表框的一行与DB表的一行相关联

我创建了一个firemonky移动应用程序。我在表格上放了一个列表框。列表框中填充了来自数据库的项目

    zQuery1.Close;
    ZQuery1.Open;
    ListBox1.Items.Clear;
      While not ZQuery1.Eof do
      Begin
      ListBox1.Items.Add(ZQuery1.Fields[1].AsString);
      ZQuery1.Next;
    end;
    ZQuery1.Close;
显示的是一个人的名字

现在,当我双击此人的姓名时,我希望打开第二个表单,其中包含此人的详细信息(可在记录中找到)。如果可以的话,有人能帮我吗


我想在iPad上创建一个应用程序,这样当有人点击列表框中的“详细信息”按钮时,就会显示此人的更多信息。

您需要使用listbox.items.addobject,而不是使用listbox.items.addobject。出于下面代码的目的,我假设表的主键将在zquery1.fields[0]中返回

zQuery1.Close;
ZQuery1.Open;
ListBox1.Items.Clear;
While not ZQuery1.Eof do
 Begin
  ListBox1.Items.AddObject (ZQuery1.Fields[1].AsString, 
                  tobject (zquery1.fields[0].asinteger)
  ZQuery1.Next;
 end;
ZQuery1.Close;
为了访问存储的id,您可以编写如下内容

avariable:= longint (listbox1.Items.Objects[listbox1.itemindex]);

您需要在数据库中与每个项目一起存储对唯一ID的引用。这可以通过使用
AddObject
传递指向此ID的指针来实现。@Jerry,那么LiveBindings呢?虽然我不知道怎么做,但我想说几次点击就可以完成这项任务。你到底有什么问题?你想知道如何处理双击吗?如何打开新表单?如何从数据库中读取信息?@David我想显示那个人的详细信息,但当有人点击列表框(addobject?)上的详细按钮时,我不知道如何获取这些信息。如果有人能给我举个例子,我将不胜感激。你的意思是你不知道如何将列表框的一行与DB表的一行相关联?你应该编辑这个问题,以明确你在问什么。