Q&A

  • sql에서 max를 사용해서 검색 recordcount가....
     CusCod := FormatDateTime('yyyymm',date)+'%';
     with Q_CusCod do begin
     Close;
     SQL.Clear;
     SQL.ADD('SELECT MAX( Cuscod )Cuscod   ');
     SQL.ADD('FROM "T_BASE02.db" T_base02  ');
     SQL.ADD('WHERE  Cuscod LIKE :CusCod   ');
     ParamByName('CusCod').AsString := CusCod;
     Open;
     end;
      E_Addres.Text :=   IntToStr(Q_CusCod.RecordCount);
     if Q_CusCod.RecordCount <> 0 then        
     E_CusCod.text := IntToStr(StrToInt(Q_CusCod.fieldbyname('Cuscod').AsString) + 1)
     ELSE   E_CusCod.Text := FormatDateTime('yyyymm',date) + '0000';
     Check_Flag := 'Insert';

파라독스 사용해서여~
년월뒤에 카운트 붙여서 코드를 생성하는데여~
위의 코드는 분명문제가 있는데 어케해결해야할지요~
레코드가 하나도 없는 상황에서도 1개가 나오거든요..
다른방법을 써야 할까요?
조언 부탁드립니다.
즐거운 하루 되세요~
5  COMMENTS
  • Profile
    KDDG_ZZOM 2002.06.21 22:07
    MAX, MIN, SUM, COUNT(*)등...
    즐프하세요...
  • Profile
    세미콜론 2002.06.22 00:03
    .
  • Profile
    KDDG_ZZOM 2002.06.21 19:50
    쿼리문에서 그룹함수를 사용하시면 sqlcode가 자료가 없어도 항상 0이 리턴됩니다...
    참고하세요...

  • Profile
    이학제 2002.06.21 20:31
    max를 사용하니까 계속 레코드가 1개가 나오네요
    게서
    max 사용안하구 한번 돌린후 검색~다시max 하니 되네요
    이런 노가다를...
         CusCod := FormatDateTime('yyyymm',date)+'%';
          with Q_CusCod do begin
          Close;
          SQL.Clear;
          SQL.ADD('SELECT  Cuscod               ');
          SQL.ADD('FROM "T_BASE02.db" T_base02  ');
          SQL.ADD('WHERE  Cuscod LIKE :CusCod   ');
          ParamByName('CusCod').AsString := CusCod;
          Open;
          end;
         If Q_CusCod.RecordCount <> 0 then begin
          with Q_CusCod do begin
          Close;
          SQL.Clear;
          SQL.ADD('SELECT MAX( Cuscod )Cuscod   ');
          SQL.ADD('FROM "T_BASE02.db" T_base02  ');
          SQL.ADD('WHERE  Cuscod LIKE :CusCod   ');
          ParamByName('CusCod').AsString := CusCod;
          Open;
          end;
          E_CusCod.text := IntToStr(StrToInt(Q_CusCod.fieldbyname('Cuscod').AsString) + 1);
         end
         else begin
         E_CusCod.Text := FormatDateTime('yyyymm',date) + '0000';
         end;
  • Profile
    이학제 2002.06.21 20:15
    와우 답변 넘 빠르당~
    감사하군요  그룹함수라면 어떰겔 말씀 하시는지요?
    상세한 답변 기다립니다.
    group by 는 않먹히는데요... 제가 넘 허접해서리..... 부탁드립니다.