문제해결 이후 팀장님께 보낸 메일의 내용이다. 저거 조금 고치려고 나는 오늘 하루를 희생했다ㅠ_ㅠ (애초에 어느 파일을 고쳐야 하는지 조차 안 알려주니 고객사 서버를 뒤적뒤적(;))
※ 오늘 새롭게 알게 된 함수 : datediff("d", rs("lastregdate"),rs("m_sysdate"))
"d"를 h(시간), m(분) 등으로 바꾸어 사용하는 것도 가능하다.
[ 변경 전 ]
: 데이터베이스에 해당 ID가 존재할 경우, 제한시간 검사을 검사하는데 mi에 대입되는 식이 이상하네요. Long타입으로 1/24 와 1/12를 할 경우의 값은 0 이므로 어떤 경우에나 mi에 대입되는 값은 0이 됩니다.
|
sql = "select regno, (lastregdate-sysdate)*1440 as mi from mid_idmaster where id='" & a_sno & "' " /* 중략 */ Dim mi mi = CLng(rs("mi"))*CLng(1/24)*CLng(1/12) if mi < LIMIT_TIME then a_return = "-10" else ‘ 생략 end if |
[ 변경 후 ]
: datediff함수를 이용하여 일(day)단위로 계산합니다.
|
sql = "select regno, lastregdate, sysdate as m_sysdate from mid_idmaster where id='" & a_sno & "' " /* 중략 */ Dim TimeCheck TimeCheck=datediff("d", rs("lastregdate"),rs("m_sysdate")) '경과된 Day 확인 if TimeCheck < LIMIT_TIME then a_return = "-10" else ‘ 생략 End if |
더불어 mid.asp에서 80번째 라인을 보면 재발급을 위한 시간 제한이 0으로 설정되어 있었고 이를 7로 바꾸었습니다.
그리고 세 가지의 에러코드가 있으나 일률적으로 ‘회원증 발급 도중 에러 발생’이라는 일률적인 에러 메시지를 띄우고 있었습니다. 그래서 해당 부분에서 시간제한에 해당하는 에러코드를 리턴받은 경우 다음과 같이 메시지를 띄우도록 수정하였습니다.
-------------------------------------------------------------------------------------
그나저나 남이 헤집어놓은 방을 청소하는 느낌이라 유지보수는 썩 즐겁지 않다.
게다가 ASP는 이제 그만 하고 싶다. 난 ASP가 싫어!!!!!


0