unit MultiLevelDetailClient_Data; interface uses {vcl:} SysUtils, Classes, DB, DBClient, {RemObjects:} uROClient, uROClientIntf, uRORemoteService, uROBinMessage, uROWinInetHTTPChannel, {Data Abstract:} uDADataTable, uDABINAdapter, uDAInterfaces, uDADataStreamer, uDARemoteDataAdapter, uDAScriptingProvider, uDACDSDataTable, uDAMemDataTable; type TMultiLevelDetailClient_DataModule = class(TDataModule) Message: TROBinMessage; Channel: TROWinInetHTTPChannel; RemoteService: TRORemoteService; DataStreamer: TDABinDataStreamer; RemoteDataAdapter: TDARemoteDataAdapter; ds_Categories: TDADataSource; ds_Products: TDADataSource; ds_OrderDetails: TDADataSource; tbl_OrderDetails: TDAMemDataTable; tbl_Products: TDAMemDataTable; tbl_Categories: TDAMemDataTable; procedure tbl_OrderDetailsAfterInsert(DataTable: TDADataTable); procedure tbl_ProductsAfterInsert(DataTable: TDADataTable); private { Private declarations } public { Public declarations } end; var MultiLevelDetailClient_DataModule: TMultiLevelDetailClient_DataModule; implementation {$R *.dfm} procedure TMultiLevelDetailClient_DataModule.tbl_OrderDetailsAfterInsert( DataTable: TDADataTable); begin if DataTable.FieldByName('UnitPrice').IsNull then DataTable.FieldByName('UnitPrice').AsCurrency := 0.0; if DataTable.FieldByName('Quantity').IsNull then DataTable.FieldByName('Quantity').AsInteger := 1; if DataTable.FieldByName('Discount').IsNull then DataTable.FieldByName('Discount').AsFloat := 0.0; end; procedure TMultiLevelDetailClient_DataModule.tbl_ProductsAfterInsert( DataTable: TDADataTable); begin if DataTable.FieldByName('UnitPrice').IsNull then DataTable.FieldByName('UnitPrice').AsCurrency := 0.0; if DataTable.FieldByName('ReorderLevel').IsNull then DataTable.FieldByName('ReorderLevel').AsSmallInt := 0; if DataTable.FieldByName('UnitsInStock').IsNull then DataTable.FieldByName('UnitsInStock').AsSmallInt := 0; if DataTable.FieldByName('UnitsOnOrder').IsNull then DataTable.FieldByName('UnitsOnOrder').AsSmallInt := 0; if DataTable.FieldByName('Discontinued').IsNull then DataTable.FieldByName('Discontinued').AsBoolean := false; end; end.