애플리케이션에서 종료키를 누르면 '프로그램을 종료할까요?' 라고 물어
봅니다.
이때 사용자가 '예'라고 응답을 하면 접속을 해제한 날짜와 시간을 DB에
저장을 하도록 되어 있습니다.
그런데,
문제는
Q. 시스템자체를 종료하면 위처럼 '프로그램을 종료할까요?'라고 물어
봅니다. 이 메시지를 안묻고 바로 접속을 해제한 날짜와 시간을 DB에 저장
하도록 하면 더 좋은데... '프로그램을 종료할까요'라고 설사 묻더라도 사 용자가 '예' 응답을 하면 접속을 해제한 일시가 DB에 저장하지 않더군요..
소스를 보내드리니 검토 부탁드립니다.....
procedure TForm1.BitBtn13Click(Sender: TObject);
begin
form1.close;
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if Application.MessageBox(
'프로그램을 종료하시겠습니까?',
'EBMS Messenger 1.0',
MB_YESNO) = IDNO then
begin
timer2.Enabled := true;
end;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
adoquery3.close;
adoquery3.sql.clear;
adoquery3.SQL.add(' update login ');
adoquery3.SQL.add(' set s_end = ''' + datetimetostr(now) + ''',');
adoquery3.SQL.add(' s_connect = ''' + 'N'+'''');
adoquery3.SQL.add(' where s_code = ''' + id + '''');
adoquery3.execsql;
adoconnection1.connected:=false;
end;
> 애플리케이션에서 종료키를 누르면 '프로그램을 종료할까요?' 라고 물어
> 봅니다.
> 이때 사용자가 '예'라고 응답을 하면 접속을 해제한 날짜와 시간을 DB에
> 저장을 하도록 되어 있습니다.
>
> 그런데,
>
> 문제는
> Q. 시스템자체를 종료하면 위처럼 '프로그램을 종료할까요?'라고 물어
> 봅니다. 이 메시지를 안묻고 바로 접속을 해제한 날짜와 시간을 DB에 저장
> 하도록 하면 더 좋은데... '프로그램을 종료할까요'라고 설사 묻더라도 사 용자가 '예' 응답을 하면 접속을 해제한 일시가 DB에 저장하지 않더군요..
>
> 소스를 보내드리니 검토 부탁드립니다.....
procedure TForm1.BitBtn13Click(Sender: TObject);
begin
form1.close;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if MessageBox(handle, '프로그램을 종료하시겠습니까?', 'EBMS Messanger 1.0', MB_IconQuestion + MB_YESNO) = IDNO then
begin
Action := caNone;
Exit;
end;
adoquery3.close;
adoquery3.sql.clear;
adoquery3.SQL.add(' update login ');
adoquery3.SQL.add(' set s_end = ''' + datetimetostr(now) + ''',');
adoquery3.SQL.add(' s_connect = ''' + 'N'+'''');
adoquery3.SQL.add(' where s_code = ''' + id + '''');
adoquery3.execsql;
adoconnection1.connected:=false;
end;
라고 해보십시오.
DB쪽은 제가 스키마가 없어서 몰겠는데... 위의 SQL문과 DB자체에 문제가 없다면 원하시는대로 정상동작할 것입니다.