📄 untcommons.pas
字号:
if intransaction then
commitTrans;
Result:=True;
end
else
begin
if intransaction then
RollbackTrans;
Result:=False;
end;
finally
FreeExistAdoquery(ExecMsqlado);
FreeExistAdoquery(ExecDsqlado);
end;
finally
MFieldList.Free;
DFieldList.Free;
FreeExistClientDataset(MCdsupdate);
FreeExistClientDataset(DCDSupdate);
end;
end
else
Result:=False;
end;
procedure Tcommons.BeginTrans;
begin
dmServer.AdoConMain.BeginTrans;
end;
procedure Tcommons.CommitTrans;
begin
dmServer.AdoConMain.CommitTrans;
end;
constructor Tcommons.create;
begin
{do nothing}
end;
function Tcommons.CustomerRent(const DBName, CustomerNo, Sdate,
Edate: WideString): OleVariant;
var
CL:TRTLCriticalSection;
Q:Tadoquery;
CDS:Tclientdataset;
DSP:Tdatasetprovider;
cmdStr:String;
begin
try
InitializeCriticalSection(CL);
EnterCriticalSection(CL);
cmdStr:='Exec pCustomerRentQuery :@CustomerNO,:@Sdate,:@Edate';
Q:=GetNewAdoquery;
CDS:=GetNewClientdataset;
DSP:=GetNewDatasetProvider;
CDS.Active:=False;
if OpenindicatinnDB(DBname) then
begin
DSP.DataSet:=Q;
CDS.SetProvider(DSP);
Q.Close;
Q.SQL.Clear;
Q.SQL.Text:=CmdStr;
Q.Parameters.ParamByName('@CustomerNO').Value:=CustomerNO;
Q.Parameters.ParamByName('@Sdate').Value:=Sdate;
Q.Parameters.ParamByName('@Edate').Value:=Edate;
CDS.Active:=True;
Result:=CDS.Data;
end;
finally
FreeExistClientDataset(CDS);
FreeExistDatasetProvider(DSP);
FreeExistAdoquery(Q);
LeaveCriticalSection(CL);
end;
end;
destructor Tcommons.destroy;
begin
{do nothing}
inherited;
end;
function Tcommons.ExecSql(const DBName, CmdStr: WideString): WordBool;
var
AdoQ:Tadoquery;
begin
try
AdoQ:=GetNewAdoquery;
if OpenIndicatinnDB(DBname) then
begin
try
Begintrans;
aexecsql:=Texecsql.Create(AdoQ,CmdStr);
aexecsql.Execute;
if InTransaction then
commitTrans;
Result:=True;
except
Result:=False;
if InTransaction then
RollbackTrans;
end;
end;
finally
FreeExistAdoquery(AdoQ);
aexecSql.Free;
end;
end;
function Tcommons.ExistVip(const DBName: WideString;
VIPid: Integer): WordBool;
var
cmdStr:String;
AdoQ:Tadoquery;
begin
try
cmdStr:='Select fVipId from tvipintegral where fVipId='+Vartosql(VipId);
AdoQ:=GetNewAdoquery;
if OpenindicatinnDB(DBname) then
begin
aopensql:=Topensql.create(AdoQ,cmdStr);
aopensql.Execute;
if AdoQ.RecordCount>0 then
Result:=True
else
Result:=False;
end
else
Result:=True;
finally
FreeExistAdoquery(AdoQ);
Aopensql.Free;
end;
end;
function Tcommons.GetAdmin(const DBName, UserCode,
PassWord: WideString): WordBool;
var
cmdStr:String;
AdoQ:Tadoquery;
begin
try
cmdStr:='select fadmin from tuser where fcode='+vartosql(UserCode)+' and fpwd='+vartosql(Password);
AdoQ:=GetNewAdoquery;
if OpenindicatinnDB(DBname) then
begin
aopensql:=Topensql.create(AdoQ,cmdStr);
aopensql.Execute;
if AdoQ.RecordCount>0 then
Result:=Adoq.fieldbyname('fadmin').AsBoolean
else
Result:=False;
end
else
Result:=False;
finally
FreeExistAdoquery(AdoQ);
Aopensql.Free;
end;
end;
function Tcommons.GetAdminLogin(const PassWord: WideString): WordBool;
var
cmdStr:String;
AdoQ:Tadoquery;
begin
try
cmdStr:='select password from Master..adminlogin where password='+vartosql(PassWord)+' and userCode='+vartosql('ADMIN');
AdoQ:=GetNewAdoquery;
if OpenindicatinnDB('Master') then
begin
aopensql:=Topensql.create(AdoQ,cmdStr);
aopensql.Execute;
if AdoQ.RecordCount>0 then
Result:=True
else
Result:=False;
end
else
Result:=False;
finally
FreeExistAdoquery(AdoQ);
Aopensql.Free;
end;
end;
function Tcommons.GetAppTitle: WideString;
begin
Result:=ApplicationTitle;
end;
function Tcommons.GetBillStatus(const DBName,
pSqlTiao: WideString): OleVariant;
var
CL:TRTLCriticalSection;
Q:Tadoquery;
CDS:Tclientdataset;
DSP:Tdatasetprovider;
cmdStr:String;
begin
try
InitializeCriticalSection(CL);
EnterCriticalSection(CL);
cmdStr:='Exec pGetBillStatus :@SearchTiao';
Q:=GetNewAdoquery;
CDS:=GetNewClientdataset;
DSP:=GetNewDatasetProvider;
CDS.Active:=False;
if OpenindicatinnDB(DBname) then
begin
DSP.DataSet:=Q;
CDS.SetProvider(DSP);
Q.Close;
Q.SQL.Clear;
Q.SQL.Text:=CmdStr;
Q.Parameters.ParamByName('@SearchTiao').Value:=pSqlTiao;
CDS.Active:=True;
Result:=CDS.Data;
end;
finally
FreeExistClientDataset(CDS);
FreeExistDatasetProvider(DSP);
FreeExistAdoquery(Q);
LeaveCriticalSection(CL);
end;
end;
function Tcommons.GetFinanceBalance(const DBName, Sdate,
Edate: WideString): OleVariant;
var
CL:TRTLCriticalSection;
Q:Tadoquery;
CDS:Tclientdataset;
DSP:Tdatasetprovider;
cmdStr:String;
begin
try
InitializeCriticalSection(CL);
EnterCriticalSection(CL);
cmdStr:='Exec pFinanceBalance :@SDate,:@Edate';
Q:=GetNewAdoquery;
CDS:=GetNewClientdataset;
DSP:=GetNewDatasetProvider;
CDS.Active:=False;
if OpenindicatinnDB(DBname) then
begin
DSP.DataSet:=Q;
CDS.SetProvider(DSP);
Q.Close;
Q.SQL.Clear;
Q.SQL.Text:=CmdStr;
Q.Parameters.ParamByName('@SDate').Value:=SDate;
Q.Parameters.ParamByName('@EDate').Value:=EDate;
CDS.Active:=True;
Result:=CDS.Data;
end;
finally
FreeExistClientDataset(CDS);
FreeExistDatasetProvider(DSP);
FreeExistAdoquery(Q);
LeaveCriticalSection(CL);
end;
end;
function Tcommons.GetFinanceCollect(const DBName, Sdate,
Edate: WideString): OleVariant;
var
CL:TRTLCriticalSection;
Q:Tadoquery;
CDS:Tclientdataset;
DSP:Tdatasetprovider;
cmdStr:String;
begin
try
InitializeCriticalSection(CL);
EnterCriticalSection(CL);
cmdStr:='Exec pFinanceCollect :@SDate,:@Edate';
Q:=GetNewAdoquery;
CDS:=GetNewClientdataset;
DSP:=GetNewDatasetProvider;
CDS.Active:=False;
if OpenindicatinnDB(DBname) then
begin
DSP.DataSet:=Q;
CDS.SetProvider(DSP);
Q.Close;
Q.SQL.Clear;
Q.SQL.Text:=CmdStr;
Q.Parameters.ParamByName('@SDate').Value:=SDate;
Q.Parameters.ParamByName('@EDate').Value:=EDate;
CDS.Active:=True;
Result:=CDS.Data;
end;
finally
FreeExistClientDataset(CDS);
FreeExistDatasetProvider(DSP);
FreeExistAdoquery(Q);
LeaveCriticalSection(CL);
end;
end;
function Tcommons.GetInNumber(const DBName: WideString;
pBillTypeID: Integer): Integer;
var
StoreADO:Tadoquery;
cmdStr:String;
begin
try
cmdStr:='Exec pGetinNumber :@Billtype,:@InNumBer output';
StoreADO:=GetNewAdoquery;
if OpenindicatinnDB(DBname) then
begin
try
StoreAdo.Close;
StoreAdo.SQL.Clear;
StoreAdo.SQL.Text:=cmdStr;
StoreAdo.Parameters.ParamByName('@Billtype').Value:=pBillTypeID;
StoreAdo.ExecSQL;
Result:=StoreAdo.Parameters.ParamValues['@InNumBer'];
except
Result:=0;
end;
end
else
Result:=0;
finally
FreeExistAdoquery(StoreADO);
end;
end;
function Tcommons.GetLargeData(const DBName, CmdStr: WideString;
Rcount: Integer): OleVariant;
var
CL:TRTLCriticalSection;
Q:Tadoquery;
CDS:Tclientdataset;
DSP:Tdatasetprovider;
begin
try
InitializeCriticalSection(CL);
EnterCriticalSection(CL);
Q:=GetNewAdoquery;
CDS:=GetNewClientdataset;
DSP:=GetNewDatasetProvider;
if OpenindicatinnDB(DBname) then
begin
DSP.DataSet:=Q;
CDS.SetProvider(DSP);
Q.Close;
Q.SQL.Clear;
Q.SQL.Text:=CmdStr;
Q.MaxRecords:=Rcount;
CDS.Active:=False;
CDS.FetchOnDemand:=False;
CDS.PacketRecords:=Rcount;
CDS.Active:=True;
Result:=CDs.Data;
end;
finally
FreeExistClientDataset(CDS);
FreeExistDatasetProvider(DSP);
FreeExistAdoquery(Q);
LeaveCriticalSection(CL);
end;
end;
function Tcommons.GetLogin(const DBName, UserCode,
PassWord: WideString): Integer;
var
cmdStr:String;
AdoQ:Tadoquery;
begin
try
cmdStr:='select fid from tuser where fcode='+vartosql(UserCode)+' and fpwd='+vartosql(Password);
AdoQ:=GetNewAdoquery;
if OpenindicatinnDB(DBname) then
begin
aopensql:=Topensql.create(AdoQ,cmdStr);
aopensql.Execute;
if AdoQ.RecordCount>0 then
Result:=Adoq.fieldbyname('fid').AsInteger
else
Result:=0;
end
else
Result:=0;
finally
FreeExistAdoquery(AdoQ);
Aopensql.Free;
end;
end;
function Tcommons.GetMaxID(const DBName, TableName,
KeyField: WideString): Integer;
var
cmdStr:String;
AdoQ:Tadoquery;
begin
try
cmdStr:='Select '+KeyField+' from '+TableName+' where '+KeyField+'=(select max('+KeyField+') from '+TableName+')';
AdoQ:=GetNewAdoquery;
if OpenindicatinnDB(DBname) then
begin
aopensql:=Topensql.create(AdoQ,cmdStr);
aopensql.Execute;
if AdoQ.RecordCount>0 then
Result:=Adoq.fieldbyname(KeyField).AsInteger
else
Result:=0;
end
else
Result:=0;
finally
FreeExistAdoquery(AdoQ);
Aopensql.Free;
end;
end;
function Tcommons.GetOutNumber(const DBName: WideString;
pBillTypeID: Integer): WideString;
var
StoreADO:Tadoquery;
cmdStr:String;
begin
try
cmdStr:='Exec pGetOutNumber :@Billtype,:@outNumber output';
StoreADO:=GetNewAdoquery;
if OpenindicatinnDB(DBname) then
begin
try
StoreAdo.Close;
StoreAdo.SQL.Clear;
StoreAdo.SQL.Text:=cmdStr;
StoreAdo.Parameters.ParamByName('@Billtype').Value:=pBillTypeID;
StoreAdo.ExecSQL;
Result:=StoreAdo.Parameters.ParamValues['@outNumber'];
except
Result:='';
end;
end
else
Result:='';
finally
FreeExistAdoquery(StoreADO);
end;
end;
function Tcommons.GetServerTime: WideString;
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -