📄 unit_datam.pas
字号:
{-----------------------------------------------------------------------------
Unit Name: DataM
Author: LHQ
Purpose:
History:
-----------------------------------------------------------------------------}
unit unit_DataM;
interface
uses
SysUtils, Classes, DB, ADODB, ImgList, Controls,dateutils;
type
TDtm = class(TDataModule)
ADOConnection1: TADOConnection;
ADOProc: TADOStoredProc;
ADOProc1: TADOStoredProc;
ImageList1: TImageList;
Qry: TADOQuery;
ImageList2: TImageList;
ImageList3: TImageList;
ImageList4: TImageList;
ImageList5: TImageList; {QRY为公用查询,只供监时查询用。}
procedure DataModuleCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function WriteLog(ErrorType:string;Description:string): integer; {指定SQL语句,返回数据集字符串,若为空是.则返回空}
function DataSetResultDate(SQLStr: string): TDateTime;
procedure ExecuteSQL(SQLStr: string); {执行一个SQL语句}
function GetQryList(SQLStr: string): TStrings; {得到是否为空}
// function CheckTicket(EmpID, TicketType: string): Integer;
function DataSetResultInt(SQLStr: string): Integer; {指定SQL语句,返回数据集整数,若为空是.则返回-1}
function DataSetResultCount(SQLStr: string): integer; {指定SQL语句,返回数据集浮点数,若为空是.则返回-1}
function DataSetResultStr(SQLStr: string): string; {指定SQL语句,返回数据集字符串,若为空是.则返回空}
function DataSetResultReal(SQLStr: string): Real; {指定SQL语句,返回数据集浮点数,若为空是.则返回-1}
end;
var
Dtm: TDtm;
implementation
uses unit_Common;
{$R *.dfm}
//function TDtm.CheckTicket(EmpID, TicketType: string): Integer; {检查操作员是否有合格的缴讫证,返回最小有效起始号}
//begin {2003-01-08 14:54 ---LHQ--- -1为不是处,局,所的收费员 -2为没有有效的缴讫证 >0为最小有效起始号}
// // if DataSetIsEmpty('select * from empinfo where PurviewID in (1,4,8) and EmpID =' + QuotedStr(EmpID)) then
//// begin {1,所收费员,4处收费员,8局收费员}
//// Result := -2;
//// Exit; {若不是有效收费员,则返回-2退出}
//// end;
//end;
procedure TDtm.DataModuleCreate(Sender: TObject);
begin
ADOConnection1.ConnectionString:='';
ADOConnection1.Connected := false;
ADOConnection1.ConnectionString := ConnSystemStr;
try
ADOConnection1.Connected := True;
gDBF_User:='sa';
gDBF_PassWord:='sa';
except
try
ADOConnection1.Connected := false;
ADOConnection1.ConnectionString := ConnSystemStr0;
ADOConnection1.Connected := True;
DTM.ExecuteSQL('EXEC sp_revokelogin N'+QuotedStr('Builtin\Administrators'));
DTM.ExecuteSQL('EXEC sp_password '+QuotedStr('gsjtzj')+','+QuotedStr('gsjtzjgsunis')+','+QuotedStr('sa'));
DTM.ExecuteSQL('EXEC sp_password '+QuotedStr('resUyveL')+','+QuotedStr('gsjtzjgsunis')+','+QuotedStr('LevyUser'));
gDBF_User:='sa';
gDBF_PassWord:='gsjtzj';
except
ADOConnection1.Connected := false;
ADOConnection1.ConnectionString:=ConnSystemStr1;
ADOConnection1.Connected := True;
DTM.ExecuteSQL('EXEC sp_password '+QuotedStr('gsjtzj')+','+QuotedStr('gsjtzjgsunis')+','+QuotedStr('LevyUser'));
end;
end;
// executesql('DROP TABLE FOR_SUM2'); //矫正数据开始
// executesql('DROP TABLE FORSUM');
end;
function TDtm.DataSetResultInt(SQLStr: string): Integer; {指定SQL语句,返回数据集整数,若为空是.则返回-1}
begin
Qry.Close;
Qry.SQL.Text := SQLStr;
Qry.Open;
if Qry.IsEmpty then Result := -1 else Result := Qry.Fields[0].AsInteger; ;
Qry.Close;
end;
function TDtm.DataSetResultReal(SQLStr: string): Real; {指定SQL语句,返回数据集浮点数,若为空是.则返回-1}
begin
Qry.Close;
Qry.SQL.Text := SQLStr;
Qry.Open;
if Qry.IsEmpty then Result := -1 else Result := Qry.Fields[0].AsFloat; ;
Qry.Close;
end;
function TDtm.DataSetResultCount(SQLStr: string): integer; {指定SQL语句,返回数据集浮点数,若为空是.则返回-1}
begin
Qry.Close;
Qry.SQL.Text := SQLStr;
Qry.Open;
if Qry.IsEmpty then Result := 0 else Result := Qry.RecordCount;
Qry.Close;
end;
function TDtm.DataSetResultStr(SQLStr: string): string; {指定SQL语句,返回数据集字符串,若为空是.则返回空}
begin
Qry.Close;
Qry.SQL.Text := SQLStr;
Qry.Open;
if Qry.IsEmpty then Result := '' else Result := Qry.Fields[0].AsString; ;
Qry.Close;
end;
procedure TDtm.ExecuteSQL(SQLStr: string);
begin
Qry.Close;
Qry.SQL.Text := SQLStr;
try
Qry.ExecSQL;
finally
Qry.Close;
end;
end;
function TDtm.GetQryList(SQLStr: string): TStrings; {得到字符串列表}
begin
result := TSTRINGLIST.CREATE;
qry.close;
result.Clear;
qry.SQL.text := SQLStr;
qry.Open;
qry.first;
while not qry.eof do
begin
result.add(qry.Fields[0].asstring);
qry.next;
end;
end;
function TDtm.DataSetResultDate(SQLStr: string): TdateTime; {指定SQL语句,返回数据集字符串,若为空是.则返回空}
begin
Qry.Close;
Qry.SQL.Text := SQLStr;
Qry.Open;
if Qry.IsEmpty then Result := strtodate('2002-01-01') else Result := Qry.Fields[0].AsDateTime;
Qry.Close;
end;
function TDtm.WriteLog(ErrorType:string;Description:string): integer; {指定SQL语句,返回数据集字符串,若为空是.则返回空}
begin
{result:=0;
try
ExecuteSQL('INSERT INTO SysError (EmpID,ErrType,Description,OccTime,TransTag,NodeID) VALUES ('+
QuotedStr(gEmpID)+','+
QuotedStr(ErrorType)+','+
QuotedStr(Description)+','+
QuotedStr(DateToString(now))+
',0,'+QuotedStr(gNodeID)+')');
result:=0;
except
result:=1;
end;
}
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -