너무 많은 시간을 소비해서 도움을 요청합니다.
[질문] DB에 있는 최대값을 가져와 +1을 하는 구현입니다.
Db에 값이 있을때는 문제가 없는데 값이 없을땐 에러가 발생합니다.
-델파이 초보 입니다 도움주시면 감사 하겠습니다-
참고로 인터베이스를 사용합니다
procedure TForm1.Button1Click(Sender: TObject);
var
TMPSTR, TMP :string;
Gl_CodeMax:Integer;
begin
with QY_Max do
begin
close;
sql.Clear;
sql.Add('Select MAX(GL_CODE) aaa From GL_MAIN');
open ;
end;
QY_Max.FieldbyName('aaa').AsString;
Gl_CodeMax:=QY_Max.FieldbyName('aaa').AsInteger;
Gl_CodeMax:= Gl_CodeMax + 1;
TMPSTR:= IntToStr(gl_codemax);
TMP := '0000000000';
TMPSTR := copy(TMP,0,10-Length(TMPSTR)) + TMPSTR;
with QY_Max do
begin
close;
sql.Clear;
sql.Add('Select MAX(GL_CODE) aaa From GL_MAIN');
open;
end;
if QY_Max.IsEmpty then // 쿼리에 레코드가 텅~비었으면?
begin
// === 첫번째 카운트 값을 넣어주면 되것죠? Gl_CodeMax:= 1 이런거..^^ ===
end
else begin
// === 원래 쓰시던 코딩을 하시면 되것죠? Gl_CodeMax:= Gl_CodeMax + 1 이런거...^^ ===
end;
<!--CodeE-->
(__) 고럼...20000