git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.DevExpressVCL@7 05c56307-c608-d34a-929d-697000501d7a
197 lines
6.5 KiB
ObjectPascal
197 lines
6.5 KiB
ObjectPascal
unit MasterDetailMultiDemoData;
|
|
|
|
interface
|
|
|
|
uses
|
|
Forms, SysUtils, Classes, DB, cxStyles, cxClasses, cxGridTableView,
|
|
cxGridCardView, cxGridBandedTableView, DBTables, DemoUtils;
|
|
|
|
type
|
|
TMasterDetailMultiDemoMainDM = class(TDataModule)
|
|
dsFilms: TDataSource;
|
|
dsFilmsPersons: TDataSource;
|
|
dsPersonsLine: TDataSource;
|
|
tblPersonsLine: TTable;
|
|
tblPersonsLineID: TAutoIncField;
|
|
tblPersonsLineNAME: TStringField;
|
|
DataBase: TDataBase;
|
|
qryFilmsPersons: TQuery;
|
|
qryFilmsPersonsName: TStringField;
|
|
qryFilmsPersonsPersonLineID: TIntegerField;
|
|
qryFilmsPersonsFIRSTNAME: TStringField;
|
|
qryFilmsPersonsSECONDNAME: TStringField;
|
|
qryFilmsPersonsNICKNAME: TStringField;
|
|
qryFilmsPersonsBIRTHNAME: TStringField;
|
|
qryFilmsPersonsDATEOFBIRTH: TDateTimeField;
|
|
qryFilmsPersonsLOCATIONOFBIRTH: TStringField;
|
|
qryFilmsPersonsBIOGRAPHY: TMemoField;
|
|
qryFilmsPersonsHOMEPAGE: TStringField;
|
|
qryFilmsPersonsID: TAutoIncField;
|
|
qryFilmsPersonsFilmID: TIntegerField;
|
|
qryFilmsPersonsBIRTHCOUNTRY: TIntegerField;
|
|
qryFilmsPersonsGender: TBooleanField;
|
|
tblPersonsHelper: TTable;
|
|
tblPersonsHelperID: TAutoIncField;
|
|
tblPersonsHelperFIRSTNAME: TStringField;
|
|
tblPersonsHelperSECONDNAME: TStringField;
|
|
tblPersonsHelperGENDER: TBooleanField;
|
|
tblPersonsHelperBIRTHNAME: TStringField;
|
|
tblPersonsHelperDATEOFBIRTH: TDateTimeField;
|
|
tblPersonsHelperBIRTHCOUNTRY: TIntegerField;
|
|
tblPersonsHelperLOCATIONOFBIRTH: TStringField;
|
|
tblPersonsHelperBIOGRAPHY: TMemoField;
|
|
tblPersonsHelperNICKNAME: TStringField;
|
|
tblPersonsHelperHOMEPAGE: TStringField;
|
|
tblPersonsStaffHelper: TTable;
|
|
tblPersonsStaffHelperID: TAutoIncField;
|
|
tblPersonsStaffHelperFILMID: TIntegerField;
|
|
tblPersonsStaffHelperPERSONLINEID: TIntegerField;
|
|
tblPersonsStaffHelperPERSONID: TIntegerField;
|
|
tblPersonsStaffHelperDESCRIPTION: TStringField;
|
|
dsFilmsCompanies: TDataSource;
|
|
qryFilmsCompanies: TQuery;
|
|
qryFilmsCompaniesName: TStringField;
|
|
qryFilmsCompaniesType: TStringField;
|
|
qryFilmsCompaniesCountry: TStringField;
|
|
qryFilmsCompaniesWebSite: TStringField;
|
|
qryFilmsCompaniesID: TIntegerField;
|
|
qryFilmsCompaniesFILMID: TIntegerField;
|
|
tblFilmsScreens: TTable;
|
|
tblFilmsScreensID: TAutoIncField;
|
|
tblFilmsScreensFILMID: TIntegerField;
|
|
tblFilmsScreensSCREEN: TBlobField;
|
|
tblFilmsScreensICON: TBlobField;
|
|
dsFilmsScreens: TDataSource;
|
|
qryFilms: TQuery;
|
|
qryFilmsID: TAutoIncField;
|
|
qryFilmsCAPTION: TStringField;
|
|
qryFilmsYEAR: TIntegerField;
|
|
qryFilmsTAGLINE: TStringField;
|
|
qryFilmsPLOTOUTLINE: TStringField;
|
|
qryFilmsRUNTIME: TIntegerField;
|
|
qryFilmsCOLOR: TStringField;
|
|
qryFilmsPHOTO: TBlobField;
|
|
qryFilmsICON: TBlobField;
|
|
qryFilmsWEBSITE: TStringField;
|
|
tblGenres: TTable;
|
|
tblGenresID: TAutoIncField;
|
|
tblGenresNAME: TStringField;
|
|
cxStyleRepository: TcxStyleRepository;
|
|
GridTableViewStyleSheetDevExpress: TcxGridTableViewStyleSheet;
|
|
cxStyle1: TcxStyle;
|
|
cxStyle2: TcxStyle;
|
|
cxStyle3: TcxStyle;
|
|
cxStyle4: TcxStyle;
|
|
cxStyle5: TcxStyle;
|
|
cxStyle6: TcxStyle;
|
|
cxStyle7: TcxStyle;
|
|
cxStyle8: TcxStyle;
|
|
cxStyle9: TcxStyle;
|
|
cxStyle10: TcxStyle;
|
|
cxStyle11: TcxStyle;
|
|
cxStyle12: TcxStyle;
|
|
cxStyle13: TcxStyle;
|
|
cxStyle14: TcxStyle;
|
|
GridBandedTableViewStyleSheetDevExpress: TcxGridBandedTableViewStyleSheet;
|
|
cxStyle15: TcxStyle;
|
|
cxStyle16: TcxStyle;
|
|
cxStyle17: TcxStyle;
|
|
cxStyle18: TcxStyle;
|
|
cxStyle19: TcxStyle;
|
|
cxStyle20: TcxStyle;
|
|
cxStyle21: TcxStyle;
|
|
cxStyle22: TcxStyle;
|
|
cxStyle23: TcxStyle;
|
|
cxStyle24: TcxStyle;
|
|
cxStyle25: TcxStyle;
|
|
cxStyle26: TcxStyle;
|
|
cxStyle27: TcxStyle;
|
|
cxStyle28: TcxStyle;
|
|
cxStyle29: TcxStyle;
|
|
cxStyle30: TcxStyle;
|
|
GridCardViewStyleSheetDevExpress: TcxGridCardViewStyleSheet;
|
|
cxStyle31: TcxStyle;
|
|
cxStyle32: TcxStyle;
|
|
cxStyle33: TcxStyle;
|
|
cxStyle34: TcxStyle;
|
|
cxStyle35: TcxStyle;
|
|
cxStyle36: TcxStyle;
|
|
cxStyle37: TcxStyle;
|
|
cxStyle38: TcxStyle;
|
|
cxStyle39: TcxStyle;
|
|
cxStyle40: TcxStyle;
|
|
procedure qryFilmsPersonsCalcFields(DataSet: TDataSet);
|
|
procedure qryFilmsPersonsBeforePost(DataSet: TDataSet);
|
|
procedure qryFilmsPersonsAfterInsert(DataSet: TDataSet);
|
|
private
|
|
{ Private declarations }
|
|
FIsInserting: Boolean;
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
MasterDetailMultiDemoMainDM: TMasterDetailMultiDemoMainDM;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
procedure TMasterDetailMultiDemoMainDM.qryFilmsPersonsCalcFields(
|
|
DataSet: TDataSet);
|
|
begin
|
|
SetStringFieldValue(qryFilmsPersonsName,
|
|
qryFilmsPersonsFIRSTNAME.Value + ' ' + qryFilmsPersonsSECONDNAME.Value);
|
|
end;
|
|
|
|
procedure TMasterDetailMultiDemoMainDM.qryFilmsPersonsBeforePost(
|
|
DataSet: TDataSet);
|
|
procedure InsertNewPerson;
|
|
begin
|
|
tblPersonsHelper.Insert;
|
|
|
|
tblPersonsHelperFIRSTNAME.AsString := qryFilmsPersonsFIRSTNAME.AsString;
|
|
tblPersonsHelperSECONDNAME.Value := qryFilmsPersonsSECONDNAME.Value;
|
|
tblPersonsHelperGENDER.AsBoolean := qryFilmsPersonsGender.AsBoolean;
|
|
tblPersonsHelperBIRTHNAME.AsString := qryFilmsPersonsBIRTHNAME.AsString;
|
|
tblPersonsHelperDATEOFBIRTH.AsDateTime := qryFilmsPersonsDATEOFBIRTH.AsDateTime;
|
|
tblPersonsHelperBIRTHCOUNTRY.AsString := qryFilmsPersonsBIRTHCOUNTRY.AsString;
|
|
tblPersonsHelperLOCATIONOFBIRTH.AsString :=
|
|
qryFilmsPersonsLOCATIONOFBIRTH.AsString;
|
|
tblPersonsHelperBIOGRAPHY.AsString := qryFilmsPersonsBIOGRAPHY.AsString;
|
|
tblPersonsHelperNICKNAME.AsString := qryFilmsPersonsNICKNAME.AsString;
|
|
tblPersonsHelperHOMEPAGE.AsString := qryFilmsPersonsHOMEPAGE.AsString;
|
|
|
|
tblPersonsHelper.Post;
|
|
end;
|
|
procedure InsertNewPersonStaff;
|
|
begin
|
|
tblPersonsStaffHelper.Insert;
|
|
tblPersonsStaffHelperPERSONID.AsInteger := tblPersonsHelperID.AsInteger;
|
|
tblPersonsStaffHelperPERSONLINEID.AsInteger :=
|
|
qryFilmsPersonsPersonLineID.AsInteger;
|
|
tblPersonsStaffHelper.Post;
|
|
end;
|
|
begin
|
|
if FIsInserting then
|
|
begin
|
|
InsertNewPerson;
|
|
InsertNewPersonStaff;
|
|
DataSet.Cancel;
|
|
DataSet.Close;
|
|
DataSet.Open;
|
|
DataSet.Locate('ID',tblPersonsStaffHelper.FieldByName('ID').AsInteger,[]);
|
|
Abort;
|
|
FIsInserting := False
|
|
end;
|
|
end;
|
|
|
|
procedure TMasterDetailMultiDemoMainDM.qryFilmsPersonsAfterInsert(
|
|
DataSet: TDataSet);
|
|
begin
|
|
FIsInserting := True;
|
|
end;
|
|
|
|
end.
|