該應用程序是datasnap(與sqlite數據庫)。我對運行兩個表(LOKACIJE和UPORABNIKI)以下查詢:德爾福更新加入的查詢
procedure TForm4.FormShow(Sender: TObject);
begin
ClientDataSet1.Close;
ClientDataSet1.CommandText :='';
ClientDataSet1.CommandText := 'select lokacije.[HOTEL_ID],'+
' lokacije.[NAZIV],'+
' uporabniki.[LOKACIJA_ID],'+
' uporabniki.[RESORT_ID],'+
' uporabniki.[HOTEL_ID],'+
' uporabniki.[UPORABNIK],'+
' uporabniki.[GESLO],'+
' uporabniki.[PRAVICE]'+
' from UPORABNIKI'+
' inner join LOKACIJE on uporabniki.lokacija_id=lokacije.lokacija_id '+
' where lokacije.[NAZIV] = :@NAZIV'+
' order by Uporabniki.[UPORABNIK]';
ClientDataSet1.Params.ParamByName('@NAZIV').Value:= '' + Form2.AdvOfficeStatusBar1.Panels[3].Text + '' ;
ClientDataSet1.Open;
end;
查詢運行良好,並給了我所期望的結果。不過,我希望能夠編輯和保存此查詢的編輯(或添加)結果。我想更新(或添加新記錄)的表格是UPORABNIKI。我不需要寫任何東西給LOKACIJE表。我怎麼做到這一點?
除了節能新紀錄,我想查詢,因爲它們是從同一個表來自動填充值 LOKACIJA_ID,RESORT_ID,HOTEL_ID,當我在導航點擊按鈕「插入」。 UPORABNIKI被翻譯爲USERS表。
編輯:反向查詢的建議
請參閱[創建主從關係](http://docwiki.embarcadero.com/RADStudio/XE3/en/Creating_Master-Detail_Relationships)。對於客戶端數據集,通常的方法是使用[嵌套詳細表](http://docwiki.embarcadero.com/RADStudio/XE3/en/Using_Nested_Detail_Tables)。 –
@TOndrej - 沒有時間閱讀所有embarcadero,特別是因爲他們沒有提供適用於我的案例。 – user3181689