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

📄 db_utl.pas

📁 DELPHI编写的商场收银POS机源代码
💻 PAS
📖 第 1 页 / 共 3 页
字号:
















FUNCTION TABLE_MAX_RECCOUNT(TNAME1:STRING):INTEGER;
VAR QDBCHECK : TQUERY;
BEGIN
  TRY
   QDBCHECK := TQUERY.Create(APPLICATION.Owner);
   QDBCHECK.DatabaseName := 'MAIN';

   QDBCHECK.SQL.Clear;
   QDBCHECK.SQL.Add('SELECT COUNT(*) FROM '+TNAME1);
   QDBCHECK.Close;
   try
     QDBCHECK.Open;
     RESULT := QDBCHECK.Fields[0].AsINTEGER;
   EXCEPT
     RESULT := -1;
   END;

  FINALLY
  QDBCHECK.Free;
  END;

END;

FUNCTION TABLEFINDMAXCNT(TNAME1, FNAME1:STRING;NO_LENGTH, NO_STEP:INTEGER):STRING;
VAR SystemDate: TSystemTime;     //系统日期
    DATE_STR ,CNT_STR : STRING;
    QDBCHECK : TQUERY;
BEGIN
  GetLocalTime(SystemDate);            //取系统日期
  DATE_STR := FLOATTOSTR( SystemDate.wYear -1911);
  IF SystemDate.wMonth >= 10 THEN DATE_STR := DATE_STR + FLOATTOSTR( SystemDate.wMonth );
  IF SystemDate.wMonth <  10 THEN DATE_STR := DATE_STR + '0'+FLOATTOSTR( SystemDate.wMonth );
  IF SystemDate.wDay >= 10 THEN DATE_STR := DATE_STR + FLOATTOSTR( SystemDate.wDay );
  IF SystemDate.wDay <  10 THEN DATE_STR := DATE_STR + '0'+FLOATTOSTR( SystemDate.wDay );

  TRY
   QDBCHECK := TQUERY.Create(APPLICATION.Owner);
   QDBCHECK.DatabaseName := 'MAIN';
   QDBCHECK.SQL.Clear;
   QDBCHECK.SQL.Add('SELECT MAX('+ FNAME1 +') FROM '+TNAME1);
   QDBCHECK.SQL.Add('WHERE '+ FNAME1 +' LIKE '''+DATE_STR+'%''');
   QDBCHECK.Close;
   try
     QDBCHECK.Open;
     CNT_STR := TRIM(QDBCHECK.Fields[0].AsString);
   EXCEPT
     CNT_STR := '0';
   END;

   IF COPY(CNT_STR,1,6) = DATE_STR THEN
      BEGIN
      CNT_STR := Copy_R(CNT_STR ,1 , NO_LENGTH);   //取最右4位
      CNT_STR := INTTOSTR( STRTOINTDEF(CNT_STR,0) + NO_STEP ); //加一位
      CNT_STR := REPLICATE('0',NO_LENGTH- LENGTH(CNT_STR)) + CNT_STR;  //加'0'
      END ELSE BEGIN
      CNT_STR := REPLICATE('0',NO_LENGTH);
      END;

  RESULT := DATE_STR + CNT_STR;  //加日期
  FINALLY
  QDBCHECK.Free;
  END;

END;

FUNCTION   TABLEFINDMAXCNT2(TNAME1, FNAME1, FTITLE:STRING;NO_LENGTH, NO_STEP:INTEGER):STRING;
VAR SystemDate: TSystemTime;     //系统日期
    DATE_STR ,CNT_STR : STRING;
    QDBCHECK : TQUERY;
BEGIN
  GetLocalTime(SystemDate);            //取系统日期
  DATE_STR := FLOATTOSTR( SystemDate.wYear -1911);
  IF SystemDate.wMonth >= 10 THEN DATE_STR := DATE_STR + FLOATTOSTR( SystemDate.wMonth );
  IF SystemDate.wMonth <  10 THEN DATE_STR := DATE_STR + '0'+FLOATTOSTR( SystemDate.wMonth );
  IF SystemDate.wDay >= 10 THEN DATE_STR := DATE_STR + FLOATTOSTR( SystemDate.wDay );
  IF SystemDate.wDay <  10 THEN DATE_STR := DATE_STR + '0'+FLOATTOSTR( SystemDate.wDay );

  TRY
   QDBCHECK := TQUERY.Create(APPLICATION.Owner);
   QDBCHECK.DatabaseName := 'MAIN';
   QDBCHECK.SQL.Clear;
   QDBCHECK.SQL.Add('SELECT MAX('+ FNAME1 +') FROM '+TNAME1);
   QDBCHECK.SQL.Add('WHERE '+ FNAME1 +' LIKE '''+FTITLE+'%''');
   QDBCHECK.Close;
   TRY QDBCHECK.Open;
     CNT_STR := TRIM(QDBCHECK.Fields[0].AsString);
   EXCEPT
     CNT_STR := '0';
   END;

   IF COPY(CNT_STR,1,LENGTH(FTITLE)) = FTITLE THEN
      BEGIN
      CNT_STR := Copy_R(CNT_STR ,1 , NO_LENGTH);   //取最右4位
      CNT_STR := INTTOSTR( STRTOINTDEF(CNT_STR,0) + NO_STEP ); //加一位
      CNT_STR := REPLICATE('0',NO_LENGTH- LENGTH(CNT_STR)) + CNT_STR;  //加'0'
      END ELSE BEGIN
      CNT_STR := REPLICATE('0',NO_LENGTH);
      END;

  RESULT := FTITLE + CNT_STR;  //加日期
  FINALLY
  QDBCHECK.Free;
  END;

END;

FUNCTION DBTABLEFINDMAXCNT(TDBNAME,TNAME1, FNAME1:STRING;NO_LENGTH, NO_STEP:INTEGER):STRING;
VAR SystemDate: TSystemTime;     //系统日期
    DATE_STR ,CNT_STR : STRING;
    QDBCHECK : TQUERY;
BEGIN
  GetLocalTime(SystemDate);            //取系统日期
  DATE_STR := FLOATTOSTR( SystemDate.wYear -1911);

  IF SystemDate.wMonth >= 10 THEN DATE_STR := DATE_STR + FLOATTOSTR( SystemDate.wMonth );
  IF SystemDate.wMonth <  10 THEN DATE_STR := DATE_STR + '0'+FLOATTOSTR( SystemDate.wMonth );
  IF SystemDate.wDay >= 10 THEN DATE_STR := DATE_STR + FLOATTOSTR( SystemDate.wDay );
  IF SystemDate.wDay <  10 THEN DATE_STR := DATE_STR + '0'+FLOATTOSTR( SystemDate.wDay );

  TRY
   QDBCHECK := TQUERY.Create(APPLICATION.Owner);
   QDBCHECK.DatabaseName := TDBNAME;
   QDBCHECK.SQL.Clear;
   QDBCHECK.SQL.Add('SELECT MAX('+ FNAME1 +') FROM '+TNAME1);
   QDBCHECK.SQL.Add('WHERE '+ FNAME1 +' LIKE '''+DATE_STR+'%''');
   QDBCHECK.Close;
   try
     QDBCHECK.Open;
     CNT_STR := TRIM(QDBCHECK.Fields[0].AsString);
   EXCEPT
     CNT_STR := '0';
   END;

   IF COPY(CNT_STR,1,6) = DATE_STR THEN
      BEGIN
      CNT_STR := Copy_R(CNT_STR ,1 , NO_LENGTH);   //取最右4位
      CNT_STR := INTTOSTR( STRTOINTDEF(CNT_STR,0) + NO_STEP ); //加一位
      CNT_STR := REPLICATE('0',NO_LENGTH- LENGTH(CNT_STR)) + CNT_STR;  //加'0'
      END ELSE
      BEGIN
      CNT_STR := REPLICATE('0',NO_LENGTH);
      END;

  RESULT := DATE_STR + CNT_STR;  //加日期
  FINALLY
  QDBCHECK.Free;
  END;

END;

FUNCTION TABLEFINDMAXITM(TNAME1, FNAME1,VALUE1,FNAME2:STRING;NO_LENGTH, NO_STEP:INTEGER):STRING;
VAR CNT_STR : STRING;
    QDBCHECK : TQUERY;
BEGIN

  TRY
   QDBCHECK := TQUERY.Create(APPLICATION.Owner);
   QDBCHECK.DatabaseName := 'MAIN';

   QDBCHECK.SQL.Clear;
   QDBCHECK.SQL.Add('SELECT MAX('+ FNAME2 +') FROM');
   QDBCHECK.SQL.Add( TNAME1);
   QDBCHECK.SQL.Add('WHERE '+FNAME1+' = '''+VALUE1+'''');
   QDBCHECK.Close;
//   SHOWMESSAGE(   QDBCHECK.SQL.TEXT);
   try
     QDBCHECK.Open;
     CNT_STR := TRIM(QDBCHECK.Fields[0].AsString);
   EXCEPT
     CNT_STR := '0';
   END;

   IF QDBCHECK.EOF = FALSE THEN
      BEGIN
      CNT_STR := INTTOSTR( STRTOINTDEF(CNT_STR,0) + NO_STEP ); //加一位
      CNT_STR := REPLICATE('0',NO_LENGTH- LENGTH(CNT_STR)) + CNT_STR;  //加'0'
      END ELSE
      BEGIN
      CNT_STR := REPLICATE('0',NO_LENGTH);
      END;

   RESULT := CNT_STR;

  FINALLY
  QDBCHECK.Free;
  END;
END;

FUNCTION DBTABLEFINDMAXITM(TDBNAME, TNAME1, FNAME1,VALUE1,FNAME2:STRING;NO_LENGTH, NO_STEP:INTEGER):STRING;
VAR CNT_STR : STRING;
    QDBCHECK : TQUERY;
BEGIN

  TRY
   QDBCHECK := TQUERY.Create(APPLICATION.Owner);
   QDBCHECK.DatabaseName := TDBNAME;

   QDBCHECK.SQL.Clear;
   QDBCHECK.SQL.Add('SELECT MAX('+ FNAME2 +') FROM');
   QDBCHECK.SQL.Add( TNAME1);
   QDBCHECK.SQL.Add('WHERE '+FNAME1+' = '''+VALUE1+'''');
   QDBCHECK.Close;
//   SHOWMESSAGE(   QDBCHECK.SQL.TEXT);
   try
     QDBCHECK.Open;
     CNT_STR := TRIM(QDBCHECK.Fields[0].AsString);
   EXCEPT
     CNT_STR := '0';
   END;

   IF QDBCHECK.EOF = FALSE THEN
      BEGIN
      CNT_STR := INTTOSTR( STRTOINTDEF(CNT_STR,0) + NO_STEP ); //加一位
      CNT_STR := REPLICATE('0',NO_LENGTH- LENGTH(CNT_STR)) + CNT_STR;  //加'0'
      END ELSE
      BEGIN
      CNT_STR := REPLICATE('0',NO_LENGTH);
      END;

   RESULT := CNT_STR;

  FINALLY
  QDBCHECK.Free;
  END;
END;

FUNCTION TABLEFINDMAXENO(TNAME1, FNAME1:STRING):STRING;
VAR CNT_STR : STRING;
    QDBCHECK : TQUERY;
BEGIN

  TRY
   QDBCHECK := TQUERY.Create(APPLICATION.Owner);
   QDBCHECK.DatabaseName := 'MAIN';

   QDBCHECK.SQL.Clear;
   QDBCHECK.SQL.Add('SELECT MAX('+ FNAME1 +') FROM');
   QDBCHECK.SQL.Add( TNAME1);
   QDBCHECK.Close;
   QDBCHECK.Open;

   IF QDBCHECK.EOF = FALSE THEN
      BEGIN
      CNT_STR := TRIM(QDBCHECK.Fields[0].AsString);
      END ELSE
      BEGIN
      CNT_STR := '0';
      END;

  RESULT := CNT_STR;
  FINALLY
  QDBCHECK.Free;
  END;
END;

FUNCTION TABLEFINDMAXENO2(TNAME1, FNAME1:STRING;NO_LENGTH, NO_STEP:INTEGER):STRING;
VAR CNT_STR : STRING;    QDBCHECK : TQUERY;
BEGIN
  TRY
   QDBCHECK := TQUERY.Create(APPLICATION.Owner);
   QDBCHECK.DatabaseName := 'MAIN';
   QDBCHECK.SQL.Clear;
   QDBCHECK.SQL.Add('SELECT MAX('+ FNAME1 +') FROM');
   QDBCHECK.SQL.Add( TNAME1);
   QDBCHECK.Close;
   QDBCHECK.Open;

   IF QDBCHECK.EOF = FALSE THEN
      BEGIN
      CNT_STR := TRIM(QDBCHECK.Fields[0].AsString);
      CNT_STR := INTTOSTR( STRTOINTDEF(CNT_STR,0) + NO_STEP ); //加一位
      CNT_STR := REPLICATE('0',NO_LENGTH- LENGTH(CNT_STR)) + CNT_STR;  //加'0'
      END ELSE BEGIN
      CNT_STR := REPLICATE('0',NO_LENGTH);
      END;
  RESULT := CNT_STR;
  FINALLY  QDBCHECK.Free;  END;
END;



FUNCTION TABLECHECK_RE1(TNAME1, FNAME1, WNAME1:STRING):INTEGER;
VAR QDBCHECK : TQUERY;
BEGIN

  TRY
   QDBCHECK := TQUERY.Create(APPLICATION.Owner);
   QDBCHECK.DatabaseName := 'MAIN';

   QDBCHECK.SQL.Clear;
   QDBCHECK.SQL.Add('SELECT COUNT(*) FROM');
   QDBCHECK.SQL.Add( TNAME1);
   QDBCHECK.SQL.Add('WHERE '+FNAME1+'='''+WNAME1+'''');
   QDBCHECK.Close;
   QDBCHECK.Open;
   RESULT := QDBCHECK.Fields[0].AsInteger;
  FINALLY
  QDBCHECK.Free;
  END;

END;

FUNCTION TABLECHECK_RED1(TNAME1, FNAME1, WNAME1:STRING):INTEGER;
VAR QDBCHECK : TQUERY;
BEGIN

  TRY
   QDBCHECK := TQUERY.Create(APPLICATION.Owner);
   QDBCHECK.DatabaseName := 'MAIN';

   QDBCHECK.SQL.Clear;
   QDBCHECK.SQL.Add('SELECT COUNT(*) FROM');
   QDBCHECK.SQL.Add( TNAME1);
   QDBCHECK.SQL.Add('WHERE '+FNAME1+'='+WNAME1+'');
   QDBCHECK.Close;
   QDBCHECK.Open;
   RESULT := QDBCHECK.Fields[0].AsInteger;
  FINALLY
  QDBCHECK.Free;
  END;

END;


FUNCTION TABLECHECK_RE2(TNAME1, FNAME1, FNAME2, WNAME1, WNAME2:STRING):INTEGER;
VAR QDBCHECK : TQUERY;
BEGIN

  TRY
   QDBCHECK := TQUERY.Create(APPLICATION.Owner);
   QDBCHECK.DatabaseName := 'MAIN';

   QDBCHECK.SQL.Clear;
   QDBCHECK.SQL.Add('SELECT COUNT(*) FROM');
   QDBCHECK.SQL.Add( TNAME1);
   QDBCHECK.SQL.Add('WHERE '+FNAME1+'='''+WNAME1+'''');
   QDBCHECK.SQL.Add('  AND '+FNAME2+'='''+WNAME2+'''');
   QDBCHECK.Close;
   QDBCHECK.Open;
   RESULT := QDBCHECK.Fields[0].AsInteger;
  FINALLY
  QDBCHECK.Free;
  END;

END;

FUNCTION TABLECHECK_RED2(TNAME1, FNAME1, FNAME2, WNAME1, WNAME2:STRING):INTEGER;
VAR QDBCHECK : TQUERY;
BEGIN

  TRY
   QDBCHECK := TQUERY.Create(APPLICATION.Owner);
   QDBCHECK.DatabaseName := 'MAIN';

   QDBCHECK.SQL.Clear;
   QDBCHECK.SQL.Add('SELECT COUNT(*) FROM');
   QDBCHECK.SQL.Add( TNAME1);
   QDBCHECK.SQL.Add('WHERE '+FNAME1+'='+WNAME1+'');
   QDBCHECK.SQL.Add('  AND '+FNAME2+'='+WNAME2+'');
   QDBCHECK.Close;
   QDBCHECK.Open;
   RESULT := QDBCHECK.Fields[0].AsInteger;
  FINALLY
  QDBCHECK.Free;
  END;

END;



FUNCTION TABLECHECK_RE3(TNAME1, FNAME1, FNAME2, FNAME3, WNAME1, WNAME2, WNAME3:STRING):INTEGER;
VAR QDBCHECK : TQUERY;
BEGIN

  TRY
   QDBCHECK := TQUERY.Create(APPLICATION.Owner);
   QDBCHECK.DatabaseName := 'MAIN';

   QDBCHECK.SQL.Clear;
   QDBCHECK.SQL.Add('SELECT COUNT(*) FROM');
   QDBCHECK.SQL.Add( TNAME1);
   QDBCHECK.SQL.Add('WHERE '+FNAME1+'='''+WNAME1+'''');
   QDBCHECK.SQL.Add('  AND '+FNAME2+'='''+WNAME2+'''');
   QDBCHECK.SQL.Add('  AND '+FNAME3+'='''+WNAME3+'''');
   QDBCHECK.Close;
   QDBCHECK.Open;
   RESULT := QDBCHECK.Fields[0].AsInteger;
  FINALLY
  QDBCHECK.Free;
  END;

END;


FUNCTION TABLECHECK_RED3(TNAME1, FNAME1, FNAME2, FNAME3, WNAME1, WNAME2, WNAME3:STRING):INTEGER;
VAR QDBCHECK : TQUERY;
BEGIN

  TRY
   QDBCHECK := TQUERY.Create(APPLICATION.Owner);
   QDBCHECK.DatabaseName := 'MAIN';

   QDBCHECK.SQL.Clear;
   QDBCHECK.SQL.Add('SELECT COUNT(*) FROM');
   QDBCHECK.SQL.Add( TNAME1);
   QDBCHECK.SQL.Add('WHERE '+FNAME1+'='+WNAME1+'');
   QDBCHECK.SQL.Add('  AND '+FNAME2+'='+WNAME2+'');
   QDBCHECK.SQL.Add('  AND '+FNAME3+'='+WNAME3+'');
   QDBCHECK.Close;
   QDBCHECK.Open;
   RESULT := QDBCHECK.Fields[0].AsInteger;
  FINALLY
  QDBCHECK.Free;

⌨️ 快捷键说明

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