, , , , . AIRLINE (), TIMETABLE (). , , , , . 22.
22 FormTimeTable
. , , .
(IBQuery) | (IBUpdateSQL) | DataSource | |
, , , | IBQueryAL | IBUpdateSQLAL | DataSourceAL |
. | IBQueryTBL | IBUpdateSQLTBL | DataSourceTBL |
IBQueryNumb |
(IBQueryAL) SQL , , , , . .
SQL = SELECT AL_NUM, AL_PL_CODE, AL_AC_CODE, AL_AP_FROM, AL_AP_TO
FROM AIRLINE ORDER BY AL_NUM '
(Add all fields) , AL_AC_CODE, AL_AP_FROM, AL_AP_TO Visible () False, .. , . Lookup ( IBQueryAC FormRef), ( IBQueryAP FormRef). , .
IBUpdateSQL, .
. .. , al, where:
SELECT TBL_AL_NUM, TBL_AP_CODE, TBL_START_TIME, TBL_DOWN_TIME, TBL_NUMBER FROM TIMETABLE
WHERE TBL_AL_NUM =:al
, .
. , .
|
|
onDataChange DataSourceAL.
procedure TFormTimeTable.DataSourceALDataChange(Sender: TObject; Field: TField);
Begin
IBQueryTBL.Close;
IBQueryTBL.ParamByName('al').AsInteger:= IBQueryACAL_NUM.AsInteger;
IBQueryTBL.Open;
end;
, IBQueryTBL (IBQueryACAL_NUM.AsInteger). 23 .
, UpdateSQL.
23
, . - TBL_AL_NUM . - TBL_NUMBER. , onAfterInsert ( ) IBQueryTBL.
procedure TFormTimeTable.IBQueryTBLAfterInsert(DataSet: TDataSet);
Begin
//
IBQueryTBLTBL_AL_NUM.AsInteger:= IBQueryTBL.ParamByName('al').AsInteger;
//
IBQueryNumb.ParamByName('al').AsInteger:= IBQueryTBLTBL_AL_NUM.AsInteger;
IBQueryNumb.Open;
IBQueryTBLTBL_NUMBER.AsInteger:= IBQueryNumb.Fields[0].AsInteger + 1;
IBQueryNumb.Close;
end;
. IBQueryNumb, .
SELECT MAX (TBL_NUMBER)
FROM TIMETABLE WHERE TBL_AL_NUM =:al
, IBQueryNumb . , .