2013-04-03 19 views
0

我需要從兩個不同的ListBox中讀取兩個名稱,並將這兩個名稱關聯到DataSet中的註冊表中。但是,在DataSet上,這個關係是通過個人的ID進行的,它的名字只是一個LookUp。添加註冊表:從ListBox到數據集

在我的腦海裏:

第1步:閱讀的名字,並獲得個人ID。

第2步: On事件BeforeInsert導航器中,將ID插入到相應的列中。

重要提示信息:

  • 的關係是從僱員ID和管理ID。

  • 我是Delphi的新手。

問:

執行失敗,因爲數據集是從列表框中不同的單位,我不知道如何在不改變項目解決這個問題。

回答

1

將包含DataSet的單位添加到具有ListBox的單位的implementation使用條款。如果您TDataSetDataSet1在一個名爲MyDataMod.pasdmMyDataTDataModule,你會做這樣的事情(見下文我注意):

unit Main; 

interface 
    uses Forms, .... 

type 
    TForm1 = class(TForm) 
    ListBox1: TListBox; 
    ListBox2: TListBox; 
    Button1: TButton; 
    protected 
    procedure Button1Click(Sender: TObject); 
    private 
    ... 
    public 
    ... 
    end; 

implementation 

uses 
    MyDataMod; // Use the actual unit name, of course 

procedure TForm1.Button1Click(Sender: TObject); 
begin 
    if (ListBox1.ItemIndex <> -1) then 
    if (ListBox2.ItemIndex <> -1) then 
    begin 
     // Access the dataset however you need here 
     dmMyData.DataSet1.Insert; 
    end; 
end; 

注意更好的方法,當然是分開來自UI的數據,並創建一個將僱員和經理信息作爲參數並處理那些信息的所有處理的過程。然而,這是一個完全不同於你在這裏問的問題。

+0

您能否舉一個例子來處理員工和經理的參數?我想現在我的問題不在不同的單位,而是在我制定的程序中。 我無法從列表框中獲取名稱,將該名稱關聯到ID,並將此ID導出到DataSet。 – fmmatheus 2013-04-05 18:18:36