📄 datamoduleunit.pas
字号:
unit DatamoduleUnit;
interface
uses
{$IFDEF Linux}QForms, {$ELSE}Forms, {$ENDIF}
SysUtils, Classes, DB, DBTables, DBClient, Provider;
type
TDataModule1 = class(TDataModule)
Qry_search: TQuery;
Qry_tmp: TQuery;
Qry_inf: TQuery;
DataSetProvider1: TDataSetProvider;
ClientDataSet_edit: TClientDataSet;
DataSourceSearch: TDataSource;
Qry_searchUserID: TStringField;
Qry_searchFYear: TFloatField;
Qry_searchFMonth: TFloatField;
Qry_searchFDay: TFloatField;
Qry_searchCaption: TStringField;
Qry_searchFMessage: TMemoField;
TableUser: TTable;
DataSourceuser: TDataSource;
DataSource_edit: TDataSource;
TableUserUserID: TStringField;
TableUserPWD: TStringField;
TableUserActor: TFloatField;
TableUserMail: TStringField;
Qry_searchrowID: TIntegerField;
procedure ClientDataSet_editAfterInsert(DataSet: TDataSet);
procedure ClientDataSet_editAfterPost(DataSet: TDataSet);
procedure Qry_searchCalcFields(DataSet: TDataSet);
private
public
end;
// Procs
function DataModule1: TDataModule1;
implementation
{$R *.dfm}
uses
IWInit,
ServerController;
// Since we are threaded we cannot use global variables to store form / datamodule references
// so we store them in WebApplication.Data and we could reference that each time, but by creating
// a function like this our other code looks "normal" almost as if its referencing a global.
// This function is not necessary but it makes the code in the main form which references this
// datamodule a lot neater.
// Without this function ever time we would reference this datamodule we would use:
// TDataModule1(WebApplication.Data).Datamodule.<method / component>
// By creating this procedure it becomes:
// TDataModule1.<method / component>
// Which is just like normal Delphi code.
function DataModule1: TDataModule1;
begin
Result := TUserSession(RWebApplication.Data).Datamodule1;
end;
procedure TDataModule1.ClientDataSet_editAfterInsert(DataSet: TDataSet);
var y,m,d:word;
begin
decodedate(now,y,m,d);
with DataSet do begin
Fieldbyname('fyear').asInteger:=y;
Fieldbyname('fMonth').asInteger:=m;
Fieldbyname('fday').asInteger:=d;
Fieldbyname('UserID').asString:=UserSession.userID;
end;
end;
procedure TDataModule1.ClientDataSet_editAfterPost(DataSet: TDataSet);
begin
ClientDataSet_edit.ApplyUpdates(0);
end;
procedure TDataModule1.Qry_searchCalcFields(DataSet: TDataSet);
begin
dataset.fieldByName('rowID').asInteger:=dataset.RecNo;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -