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

📄 untcommons.pas

📁 车辆管理系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
      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 + -