Componentes.Terceros.DevExp.../official/x.19/ExpressQuantumGrid 5/Demos/Delphi/ViewTableSimpleDemo/ViewTableSimpleDemoData.pas

99 lines
2.6 KiB
ObjectPascal
Raw Normal View History

unit ViewTableSimpleDemoData;
interface
uses
SysUtils, Classes, DB, cxStyles, cxClasses, cxGridTableView,
Forms, DBTables;
type
TViewTableSimpleDemoMainDM = class(TDataModule)
qreFilmsID: TIntegerField;
qreFilmsCAPTION: TStringField;
qreFilmsYEAR: TIntegerField;
qreFilmsTAGLINE: TStringField;
qreFilmsPLOTOUTLINE: TStringField;
qreFilmsRUNTIME: TIntegerField;
qreFilmsCOLOR: TStringField;
qreFilmsPHOTO: TBlobField;
qreFilmsICON: TBlobField;
qreFilmsWEBSITE: TStringField;
Database: TDatabase;
UpdateSQL: TUpdateSQL;
qreMaxFilmsID: TQuery;
qreMaxFilmsIDMAXOFID: TIntegerField;
procedure qreFilmsAfterDelete(DataSet: TDataSet);
procedure qreFilmsBeforeDelete(DataSet: TDataSet);
procedure qreFilmsAfterInsert(DataSet: TDataSet);
procedure qreFilmsAfterPost(DataSet: TDataSet);
private
FUpdating: Boolean;
published
tlbGENRES: TTable;
dsGENRES: TDataSource;
qreFilms: TQuery;
dsFilms: TDataSource;
tlbGENRESID: TAutoIncField;
tlbGENRESNAME: TStringField;
tblFilms: TTable;
tblFilmsGenres: TTable;
tblFilmsID: TAutoIncField;
tblFilmsCAPTION: TStringField;
tblFilmsYEAR: TIntegerField;
tblFilmsTAGLINE: TStringField;
tblFilmsPLOTOUTLINE: TStringField;
tblFilmsRUNTIME: TIntegerField;
tblFilmsCOLOR: TStringField;
tblFilmsPHOTO: TBlobField;
tblFilmsICON: TBlobField;
tblFilmsWEBSITE: TStringField;
tblFilmsGenresID: TAutoIncField;
tblFilmsGenresFILMID: TIntegerField;
tblFilmsGenresGENREID: TIntegerField;
end;
var
ViewTableSimpleDemoMainDM: TViewTableSimpleDemoMainDM;
implementation
{$R *.dfm}
procedure TViewTableSimpleDemoMainDM.qreFilmsAfterDelete(
DataSet: TDataSet);
begin
if ViewTableSimpleDemoMainDM.qreFilms.UpdatesPending then
qreFilms.ApplyUpdates;
end;
procedure TViewTableSimpleDemoMainDM.qreFilmsBeforeDelete(
DataSet: TDataSet);
begin
if tblFilmsGenres.Locate('FILMID', tblFilmsID.Value, []) then
tblFilmsGenres.Delete;
end;
procedure TViewTableSimpleDemoMainDM.qreFilmsAfterInsert(
DataSet: TDataSet);
begin
FUpdating := True;
end;
procedure TViewTableSimpleDemoMainDM.qreFilmsAfterPost(DataSet: TDataSet);
begin
qreFilms.ApplyUpdates;
if FUpdating then
begin
FUpdating := False;
qreMaxFilmsID.Active := False;
qreMaxFilmsID.Active := True;
tblFilmsGenres.Insert;
tblFilmsGenresFILMID.Value := qreMaxFilmsIDMAXOFID.Value;
tblFilmsGenresGENREID.Value := tlbGENRESID.Value;
tblFilmsGenres.Post;
end;
end;
end.