.


:




:

































 

 

 

 





, , , , . 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 . , .





:


: 2016-11-12; !; : 289 |


:

:

, .
==> ...

1712 - | 1489 -


© 2015-2024 lektsii.org - -

: 0.01 .