2010-04-18 3 views
0

메일을 웹 양식으로 작성하여 메시지 뒤에 하루 만 (-1) 표시해야하므로 매개 변수로 (어제) 날짜를 전달하고 하루 만의 레코드 만 검색하는 방법은 무엇입니까? 이 쿼리는 '모든'메시지를 대상으로하지만 언젠가는 메시지를 필터링 (어제)하고 하이퍼 링크를 추가하거나 드롭 다운을 추가해야합니까?vb.net 웹에서 날짜로 매개 변수를 전달하는 방법은 무엇입니까?

select MSG_SRNO,MSG_SUBJECT,MSG_ID,MSG_CHKD, 
    DOF_SENT,DOF_SEEN from MESSAGES_MAILBOX where USER=1234 
+0

당신은 당신이 SQL을 실행하는 데 사용하는 코드를 포함 할 수 있나요? 또한, 어떤 데이터베이스 (SQL 서버, 오라클 등)에 대해 실행하고 있습니까? – R0MANARMY

+0

SQL 서버 ....... – ahmed

답변

1

SQL에서,

SELECT DATEADD(day,-1, GETDATE()); 
+0

SQL 문으로 사용할 수 있습니까? – ahmed

-1

이 작동합니다 시도 :

DateTime yesterday = DateTime.Now.AddDays(-1); 

string query = string.Format("select MSG_SRNO,MSG_SUBJECT,MSG_ID,MSG_CHKD,DOF_SENT,DOF_SEEN from MESSAGES_MAILBOX where DATEPART(year,DOF_SENT) = {0} AND DATEPART(month,DOF_SENT) = {1} AND DATEPART(day,DOF_SENT) = {2}",yesterday.Year,yesterday.Month, yesterday.Day); 
+0

감사합니다.하지만이 진술에 대해 설명해 주시겠습니까? – ahmed

+0

@alejandrobog : 이것은 SqlCommand + Parameters가 사용하는 것입니다. SQL 쿼리를 작성하기 위해 직선 문자열 조작을 권장해서는 안됩니다. 이로 인해 SQL 주입 공격에 취약한 응용 프로그램이 생성됩니다. – R0MANARMY

+0

앱의 컨텍스트가 없으므로 이는 쿼리를 설명하기위한 것입니다. 또한이 샘플에서는 SQL 주입의 위험이 없으며 매개 변수는 사용자 입력에서 나옵니다. – alejandrobog

관련 문제