📄 datamodl.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 + -