게시판 본문 ASP, ASP.NET, IIS & Script - Read Only

re: 어렵게 찾아 온 곳입니다. 답변 좀 부탁 드립니다.
작성자: 송원석
작성일시: 2004-05-19 11:54,  조회수: 3,031
안녕하세요? 송원석입니다. ^_^

먼저 첫 번째 말씀하신 문제에 관해서는 제가 알기로는 단번에 해결할 수 있는 방법은 없습니다. 물론 안된다는 말이 아니라 함수 하나만 사용하여 그냥 뚝딱 해결할 수 있다거나 하지는 않다는 말입니다. 그러나 저 역시도 SQL 쿼리문에 대해서는 그다지 신통치 않으므로 제가 모르는 해결책이 있을 수도 있다는 점을 감안하여 주십시요. ^_^;;;

아무튼 이 문제를 해결하는 방법에는 이런 방법들이 있지 않을까 합니다. SQL 구문 내에서도 YEAR() 함수, MONTH() 함수, DAY() 함수를 사용하실 수 있습니다. 따라서 sms_date 컬럼을 이 함수들로 한 번 처리하여 그 값을 ASP 의 날짜와 비교하는 방법이 있겠죠. 다음과 같이 말입니다.
SELECT
    *
FROM 
    sender 
WHERE 
    user_id = 'USER' AND
    YEAR(sms_date) = '2004' AND MONTH(sms_date) = '5' AND DAY(sms_date) = '19'
물론 위에서 실제로 비교할 날짜들은 ASP 의 함수를 이용해서 구해야 하구요. 어떻게 생각하면 가장 무식하고 간단한 방법입니다. 그러나 굳이 단점이라면 sms_date 컬럼을 대상으로 세 번 계산을 수행하기 때문에 권장되는 방법은 아니죠. 그래서 다음과 같은 방법도 한 번 생각해 볼 수 있습니다
SELECT 
    * 
FROM 
    sender 
WHERE 
    user_id = 'USER' AND 
    sms_date >= '2004-05-19 00:00:00' AND sms_date < '2004-05-20 00:00:00'
위와 같은 방법을 사용하면 원하는 날짜에 해당하는 데이타를 가져오실 수 있습니다. 이 방법은 조금 지저분해지는 대신 sms_date 컬럼에 손을 대지 않으므로 비교적 속도가 빠르다는 장점이 있구요. 물론 지금과 같은 상황에서는 속도가 그다지 큰 영향을 받지는 않겠지만 말입니다.

또 한 가지 가장 간단하면서도 무식한 방법은 sms_date 컬럼을 CHAR 타입으로 변경하시는 것입니다. 날짜를 위한 데이터이긴 하지만 단순히 위와 같은 구현만을 위해서라면 꼭 datetime 형으로 구현하실 필요는 없지요. 물론 이 컬럼에 엄격한 데이터 무결성이 요구된다든가 할 때에는 얘기가 틀리지만 단순히 위의 작업만을 위해 존재하는 컬럼이라면 충분히 고려하실만하다고 생각합니다.

그리고 두 번째 말씀하신 문제는 오류 메세지의 내용으로 볼 때 정말로 해당하는 데이타가 존재하지 않기 때문에 발생하는 것입니다. 말씀하신대로 특정 일자에 메일을 발송한 데이타가 저장되도록 테이블이 구현되어있는 경우, 특정 일자에 아직까지 한 번도 메일을 보낸 적이 없다면 당연히 조회된 결과가 없겠죠.

따라서 ...
If rs.BOF = false or sms_send  < 5 or session("session_sms") = "M" then
코드의 앞 부분에서 다음과 같은 검사를 한 번 더 수행해 주어야 합니다.
If rs.BOF AND rs.EOF Then
    '** 해당 일자에 한 번도 해당 유저가 메일을 발송한 적이 없음.
    '** 따라서 메일을 발송할 수 있다.
Else
    '** 기존의 코드가 여기에 위치한다.
    If rs.BOF = false or sms_send  < 5 or session("session_sms") = "M" then
    ... 중략 ...
End If
이처럼 레코드셋을 사용하시기 전에는 항상 리턴된 결과 데이터가 존재하는지 여부를 검사하시는 것이 바람직합니다.

감사합니다.
IP 주소: 210.127.85.191
전체 2,095 건의 게시물, 84 페이지로 구성된 ASP, ASP.NET, IIS & Script 게시판의 69 페이지입니다.
게시물
415

안녕하세요~ ^-^ [2]

오마르

2004-06-02 977
414

매킨토시에서의 사용 문제점

도우미

2004-06-02 963
413

re: 매킨토시에서의 사용 문제점

송원석

2004-06-02 2,881
412

xmlhttp로 가져와서 split 함수 쓸수 없나요?

바보똥개

2004-05-29 1,122
411

re: xmlhttp로 가져와서 split 함수 쓸수 없나요?

송원석

2004-05-29 4,273
410

re: xmlhttp로 가져와서 split 함수 쓸수 없나요?

바보똥개

2004-05-31 928
409

ASP.NET 프로젝트 배포에 대하여

toast

2004-05-28 1,050
408

re: ASP.NET 프로젝트 배포에 대하여

송원석

2004-05-28 3,071
407

re: ASP.NET 프로젝트 배포에 대하여 [1]

toast

2004-06-02 988
406

안녕하세요~~ ^^

오마르

2004-05-25 1,087
405

re: 안녕하세요~~ ^^ [2]

송원석

2004-05-25 3,148
404

re: 안녕하세요~~ ^^ [1]

송원석

2004-05-27 2,850
403

Filecube에 search기능을 넣을 수있는 방법이 있는지요..

박우문

2004-05-21 2,749
402

re: Filecube에 search기능을 넣을 수있는 방법이 있는지요..

송원석

2004-05-21 2,872
401

안녕하세요~ RecordSet 에 대한 질문인데요.. ^^

오마르

2004-05-19 1,005
400

re: 안녕하세요~ RecordSet 에 대한 질문인데요.. ^^ [1]

송원석

2004-05-19 3,301
399

rss.asp소스좀 공개해 주실수 있나요? [1]

김민

2004-05-19 1,063
398

어렵게 찾아 온 곳입니다. 답변 좀 부탁 드립니다.

왕 삽질

2004-05-18 1,058

re: 어렵게 찾아 온 곳입니다. 답변 좀 부탁 드립니다.

송원석

2004-05-19 3,031
396

파일 큐브에 대한 질문 [1]

궁금이

2004-05-18 1,015
395

안녕하세요. 질문 입니다.

궁금이

2004-05-14 907
394

re: 안녕하세요. 질문 입니다.

송원석

2004-05-14 2,924
393

re: 안녕하세요. 질문 입니다. [1]

궁금이

2004-05-14 886
392

진심으로 감사드립니다. 근데요 [1]

궁금이

2004-05-14 935
391

안녕하세요~ ^^

오마르

2004-05-13 918