Delphi - что мне не хватает в этом запросе
Я пытаюсь выполнить этот запрос, но не могу:
procedure TForm4.FormShow(Sender: TObject);
begin
with ClientDataSet1 do
begin
ClientDataSet1.Close;
ClientDataSet1.CommandText :='';
ClientDataSet1.CommandText :='select lokacije.[LOKACIJA_ID],lokacije.[RESORT_ID],'
+ 'lokacije.[HOTEL_ID],lokacije.[NAZIV],'
+ 'uporabniki.[RESORT_ID],uporabniki.[HOTEL_ID],uporabniki.[LOKACIJA_ID],'
+ 'uporabniki.[UPORABNIK],uporabniki.[GESLO],uporabniki.[PRAVICE] from LOKACIJE'
+ 'inner join UPORABNIKI on lokacije.[LOKACIJA_ID]=uporabniki.[LOKACIJA_ID]'
+ 'where lokacije.[NAZIV] = ''' + Form2.AdvOfficeStatusBar1.Panels[3].Text + ''' '
+ 'ORDER BY Uporabniki.[UPORABNIK]';
ClientDataSet1.Open;
end;
end;
Я получаю сообщение об ошибке: "Удаленная ошибка: нет такой таблицы:LOKACIJEinner"
Что мне здесь не хватает??? База данных SQLite. Форма, которую я открываю здесь, является модальной. Все приложение представляет собой набор данных. Это на стороне клиента. Проблема на самом деле такова: у меня много мест, и мне нужны только данные из названия места, отображаемого AdvOfficeStatusBar1.Panels[3].Text.
1 ответ
Решение
Я думаю, что это более читабельно
procedure OpenLokacije(ANaziv: String);
begin
ClientDataSet1.Close;
ClientDataSet1.CommandText := ' select lokacije.[LOKACIJA_ID],'+ // AS Lok_LOKACIJA_ID
' lokacije.[RESORT_ID],'+
' lokacije.[HOTEL_ID],'+
' lokacije.[NAZIV],'+
' uporabniki.[RESORT_ID],'+
' uporabniki.[HOTEL_ID],'+
' uporabniki.[LOKACIJA_ID],'+ // AS Upor_LOKACIJA_ID
' uporabniki.[UPORABNIK],'+
' uporabniki.[GESLO],'+
' uporabniki.[PRAVICE]'+
' from LOKACIJE'+
' inner join UPORABNIKI on lokacije.lokacija_id=uporabniki.lokacija_id '+
' where lokacije.[NAZIV] = :@NAZIV'+
' order by Uporabniki.[UPORABNIK]';
ClientDataSet1.Parameters.ParamByName('@NAZIV').Value:= ANaziv;
ClientDataSet1.Open;
end;
lokacije.lokacija_id
а также uporabniki.lokacija_id
одинаковое значение и поле соответственно.
использовать как:
lokacije.lokacija_id as lok_lokacija_id
uporabniki.lokacija_id as upo_lokacija_id
Также используйте схему базы данных как
dbo.uporabniki.lokacija_id