⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datamodl.pas

📁 北京铁路局住房分配系统,数据库为MSSql2000,依次执行crebas4.sql
💻 PAS
字号:
unit datamodl;

interface

uses
  SysUtils, Classes, DB, DBTables,Registry,
  Windows, Messages, Graphics, Controls, Forms, Dialogs, ADODB;

type
  TDataModule1 = class(TDataModule)
    ADOCon: TADOConnection;
    ADOTab: TADOTable;
    ADOQry: TADOQuery;
    ADOSP: TADOStoredProc;
    DataS: TDataSource;
    ADOTabLY: TADOTable;
    ADOTabLYlybh: TStringField;
    ADOTabLYxqbh: TStringField;
    ADOTabLYmc: TStringField;
    ADOTabLYcs: TSmallintField;
    ADOTabLYlxbh: TStringField;
    ADOTabLYfjts: TSmallintField;
    ADOTabHX: TADOTable;
    ADOTabCX: TADOTable;
    ADOTabCXbh: TStringField;
    ADOTabCXmc: TStringField;
    ADOTabCXbz: TStringField;
    ADOTabDJ: TADOTable;
    StringField1: TStringField;
    StringField2: TStringField;
    StringField3: TStringField;
    ADOTabYT: TADOTable;
    StringField4: TStringField;
    StringField5: TStringField;
    StringField6: TStringField;
    ADOQryZF: TADOQuery;
    ADOQryZFZFBH: TStringField;
    ADOQryZFLYMC: TStringField;
    ADOQryZFHX: TStringField;
    ADOQryZFLC: TStringField;
    ADOQryZFCX: TStringField;
    ADOQryZFDJ: TStringField;
    ADOQryZFYT: TStringField;
    ADOQryZFSFFP: TStringField;
    ADOQryZFKFFP: TStringField;
    ADOQryZFSFZH: TStringField;
    ADOQryZFlybh: TStringField;
    ADOQryZFhxbh: TStringField;
    ADOQryZFcxbh: TStringField;
    ADOQryZFdjbh: TStringField;
    ADOQryZFytbh: TStringField;
    ADOQryYTFP: TADOQuery;
    ADOQryYTFPdwbh: TStringField;
    ADOQryYTFPdwmc: TStringField;
    ADOQryYTFPzgfp: TSmallintField;
    ADOQryYTFPjlfp: TSmallintField;
    ADOQryYTFPcqfp: TSmallintField;
    ADOQryYTFPldgb: TSmallintField;
    ADOQryYTFPshyf: TSmallintField;
    ADOQryYTFPgyfw: TSmallintField;
    ADOQryYTFPjdfw: TSmallintField;
    ADOQryYTFPqtyf: TSmallintField;
    ADOQrySLFP: TADOQuery;
    ADOQrySLFPdwbh: TStringField;
    ADOQrySLFPdwmc: TStringField;
    ADOQrySLFPytbh: TStringField;
    ADOQrySLFPytmc: TStringField;
    ADOQrySLFPyjsl: TSmallintField;
    ADOQrySLFPejsl: TSmallintField;
    ADOQrySLFPsjsl: TSmallintField;
    ADOQrySLFPfsej: TSmallintField;
    ADOQrySLFPfssj: TSmallintField;
    ADOQrySLFPqt: TSmallintField;
    ADOQrySLFPhj: TSmallintField;
    ADOQryZFdwbh: TStringField;
    ADOQryZFDYH: TStringField;
    ADOQryZFarea: TBCDField;
    ADOQryZFcost: TBCDField;
  private
    { Private declarations }

  public
    { Public declarations }
    procedure ChangeTab(const TabName:string);
    function ifexist(const TabName,FN, FV:string):boolean;
    function Connect():smallint;
    procedure disconnect;
    procedure UserInfo;
    function UserSave(const UserId, UserName, UserPassword,UserPurview:string;const usertype:smallint): smallint;
    function UserDel(const Userid:string ): smallint;

  end;

CONST SECTION='BDE';
var
  DataModule1: TDataModule1;

implementation

uses publicfun;

{$R *.dfm}

function Tdatamodule1.UserDel(const Userid:string ): smallint;
begin
  if  datamodule1.ADOSP.Active=true then datamodule1.ADOSP.Close;
  datamodule1.ADOSP.ProcedureName:='P_UserDel;1';
  datamodule1.ADOSP.Parameters.Refresh;
  with datamodule1.ADOSP.Parameters do
  begin
    ParamByName('@userid').Value := UserId;
    ParamByName('@nret').Value := -1;
  end;
  datamodule1.ADOSP.ExecProc;
  result := datamodule1.ADOSP.Parameters.ParamByName('@nret').Value;
  datamodule1.ADOSP.Close;
end;

function TDataModule1.UserSave(const UserId, UserName, UserPassword,UserPurview:string;const usertype:smallint): smallint;
begin
  if  datamodule1.ADOSP.Active=true then datamodule1.ADOSP.Close;
  datamodule1.ADOSP.ProcedureName:='P_UserSave;1';
  datamodule1.ADOSP.Parameters.Refresh;
  with datamodule1.ADOSP.Parameters do
  begin
    ParamByName('@userid').Value := UserId;
    ParamByName('@username').Value := UserName;
    ParamByName('@userpassword').Value := UserPassword;
    ParamByName('@userpurview').Value := UserPurview;
    ParamByName('@usertype').Value := Usertype;
    ParamByName('@nret').Value := -1;
  end;
  datamodule1.ADOSP.ExecProc;
  result := datamodule1.ADOSP.Parameters.ParamByName('@nret').Value;
  datamodule1.ADOSP.Close;
end;

procedure TDataModule1.UserInfo;
begin
  if AdoQry.Active =true then
  AdoQry.Close;
  AdoQry.SQL.Clear;
  AdoQry.SQL.Add('select userid,username,userpassword,userpurview,usertype from userid');
  AdoQry.Open;
  DataS.DataSet := AdoQry;
end;

procedure TDataModule1.ChangeTab(const TabName:string);
begin
  if ADOTab.Active= true then ADOTab.Close;
  ADOTab.TableName:=TabName;
  ADOTab.Open;
end;

function TDataModule1.ifexist(const TabName,FN,FV:string):boolean;
begin
  if ADOQry.Active= true then ADOQry.Close;
  ADOQry.SQL.Clear;
  ADOQry.SQL.Add('select * from '+TabName +' where  '+ FN +' = :FV');
  ADOQry.Parameters.ParamByName('FV').Value:= FV;
  ADOQry.Open;
  if ADOQry.RecordCount<> 0 then
    result:=true
  else
    result:= false;
  if ADOQry.active= true then
    ADOQry.Close;
end;


function Tdatamodule1.Connect():smallint;
var
  cServer, cDB, cUid, cPwd:string;
  cConnectString :string;
  iExit : smallint;
begin
  iExit := 0;
  cServer := ReadInfo('zffp','server');
  cDB := ReadInfo('zffp','database');
  cUid := ReadInfo('zffp','Uid');
  cPwd:= readinfo('zffp','pwd');
  cConnectString :='Provider=SQLOLEDB.1;Password='+ cPwd +';User ID='+ cUid +';Initial Catalog='+cDB+';Data Source='+cServer; //2
  try
      AdOCon.Close;
      ADOCon.ConnectionString := cConnectString;
      ADOCon.Open;
  except
      iExit := 1;
  end;
  Result := iExit;
end;

procedure Tdatamodule1.disConnect;
begin
  if ADOCon.Connected then ADOCon.Close; 
end;

{
procedure TDataModule1.ConnectLocalDB;
//连接本地数据库
var
    FIniFile: TRegIniFile;
    userName,pwd:string;
begin
  FIniFile := TRegIniFile.Create('CertInfo');
  try
    if DatabaseLocal.Connected then exit;
    DatabaseLocal.AliasName:=FIniFile.ReadString(SECTION, 'LocalBDE', '');
    DatabaseLocal.Params.Clear;
    UserName:=FIniFile.ReadString(SECTION, 'LocalUser', '');
    pwd:=FIniFile.ReadString(SECTION, 'LocalPwd', '');
    DatabaseLocal.Params.Add('User Name='+ UserName);
    DatabaseLocal.Params.Add('Password='+ pwd);
    try
      DatabaseLocal.Open;
    except
      showError1('不能打开本地数据库,请检查以下几点:'#13#10+
                '1、用户名和口令是否正确。'#13#10+
                '2、本地数据库是否启动。'#13#10+
                '3、BDE 数据源和系统配置是否正确。');
      raise;
    end;
  finally
    FINIFile.free;
  end;
end;    }


{
procedure TDataModule1.ConnectRemoteDB;
//连接远程数据库
var
  FIniFile: TRegIniFile;
  userName,pwd:string;
begin
  FIniFile := TRegIniFile.Create('CertInfo');
  try
    if DatabaseRemote.Connected then exit;
    DatabaseRemote.AliasName:=FIniFile.ReadString(SECTION, 'RemoteBDE', '');
    DatabaseRemote.Params.Clear;
    UserName:=FIniFile.ReadString(SECTION, 'RemoteUser', '');
    pwd:=FIniFile.ReadString(SECTION, 'RemotePwd', '');
    DatabaseRemote.Params.Add('User Name='+ UserName);
    DatabaseRemote.Params.Add('Password='+ pwd);
    try
      DatabaseRemote.Open;
    except
     showError1 ('不能打开远程数据库,请检查以下几点:'#13#10+
                '1、用户名和口令是否正确。'#13#10+
                '2、是否连接上Internet。'#13#10+
                '3、远程数据库是否启动。'#13#10+
                '4、BDE 数据源和系统配置是否正确。');
      raise;
    end;
  finally
    FINIFile.free;
  end;
end;
         }

end.

⌨️ 快捷键说明

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