datamoduleunit.pas

来自「很好地delphi书籍源码」· PAS 代码 · 共 106 行

PAS
106
字号
unit DataModuleUnit;

interface

uses
  SysUtils,DB,DBTables,Windows, Forms,Inifiles, Classes;


type
  TDataModule1 = class(TDataModule)
    qGInfo: TQuery;
    qGRoomFee: TQuery;
    qGHotelFee: TQuery;
    qHGuestInCome: TQuery;
    qHRoomPrice: TQuery;
    tUser: TTable;
    qPublic: TQuery;
    DSPublic: TDataSource;
    GInfoDS: TDataSource;
    GHotelFeeDS: TDataSource;
    GRoomFeeDS: TDataSource;
    tRoomPrice: TTable;
    RoomPriceDS: TDataSource;
    qHRoomState: TQuery;
    HGuestInComeDS: TDataSource;
    tbHotelKind: TTable;
    tbHotelKindDS: TDataSource;
    UserDS: TDataSource;
    qOldGInfo: TQuery;
    OldGInfoDS: TDataSource;
    BookTicketDS: TDataSource;
    qBookTicket: TQuery;
    tBookRoom: TTable;
    BookRoomDS: TDataSource;
    procedure DataModuleCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  DataModule1: TDataModule1;

implementation
{$R *.dfm}

function NewAlias(ServerName,DatabaseName:string):string;
var
  Str:TStrings;
  Alias:string;
  N:integer;
begin
  Randomize;
  N:=Random(30000);
  Alias:='MySQL'+IntToStr(N);
  Str:=TStringList.Create;
  Str.Add('Server Name='+ServerName);
  Str.Add('Database Name='+DatabaseName);
  Str.Add('User Name=sa');
  Str.Add('Password=');
  with Session do
  begin
    ConfigMode := cmSession;
    try
     AddAlias(Alias,'MSSQL',Str);
    finally
      ConfigMode := cmAll;
    end;
  end;
  result:=Alias;
end;

procedure TDataModule1.DataModuleCreate(Sender: TObject);
var
 FileName,SName,DBName,BDEAlias:string;
 MyIniFiles:TIniFile;
begin
  FileName:=ExtractFilePath(ParamStr(0))+'Hotel.ini';;
  MyIniFiles:=TInifile.Create(FileName);
  SName:=MyIniFiles.ReadString('服务器系统','服务器名称','');
  DBName:=MyIniFiles.ReadString('服务器系统','数据库名称','');
  if (SName='')or(DBName='')or(not FileExists(FileName))then
  begin
    Application.MessageBox('配置文件不存在或服务器数据库信息丢失!','配置文件问题',MB_OK );
    Application.Terminate;
  end;
  BDEAlias:=NewAlias(SName,DBName);
  tUser.DatabaseName:=BDEAlias;
  tUser.TableName:='tbUser';
  tbHotelKind.DatabaseName:=BDEAlias;
  tbHotelKind.TableName:='tbHRoomPrice';
  tBookRoom.DatabaseName:=BDEAlias;
  tBookRoom.TableName:='tbBookRoom';
  qPublic.DatabaseName:=BDEAlias;
  qGInfo.DatabaseName:=BDEAlias;
  qGRoomFee.DatabaseName:=BDEAlias;
  qGHotelFee.DatabaseName:=BDEAlias;
  tRoomPrice.DatabaseName:=BDEAlias;
  qHRoomState.DatabaseName:=BDEAlias;
  qHGuestInCome.DatabaseName:=BDEAlias;
  qOldGInfo.DatabaseName:=BDEAlias;
  qBookTicket.DatabaseName:=BDEAlias;
end;
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?