2010-04-19 6 views
0

Incorrect syntax near 12 응용 프로그램을 실행할 때이 오류가 발생합니다. 디버깅시이 오류는 날짜와 함께 발생합니다. 이 오류는 12 근처 잘못된 구문을 야기되는 소급 레코드를 필터링 할 그리드 데이터 바인딩에vb.net에서 날짜 형식 오류가 발생 했습니까?

Dim backdate as datetime 
backdate = DateTime.Now.AddDays(-1) 

.

myqry = " select SRNO,SUBJECT,ID where datesend =" backdate 

지금 난 단지 날짜를 추출하기 위해 노력하고 아니면 DATEPART와 일, 월, 년에 날짜를 나누어 가지고 변수로 또는 날짜 또는 내가 어떻게해야 도와주세요 어떻게 변환해야 ???

+0

당신은 사용할 필요 "SRNO는, 제목, datesend = ID 선택"' 매개 변수. 어떤 데이터베이스에 연결하고 있습니까? – SLaks

+0

SQL 2000 Server – ahmed

+0

데이터베이스의 datesend 필드에 시간이 있습니까? –

답변

2

을이 올바른 성명 :

myqry = "select SRNO,SUBJECT,ID where cast(convert(char(10), datesend, 121) as datetime) ='" & backdate.ToString("yyyy-MM-dd") & "'" 

캐스트 및 변환 : http://msdn.microsoft.com/en-us/library/ms187928.aspx

다음으로 변환됩니다 매개 변수 (121)로 변환 형식 : yyyy-mm-dd hh : mi : ss.mmm (24h), 해당 문자열에서 처음 10 자 (char (10))를 얻습니다. 매개 변수없이

:

myqry = "Select SRNO,SUBJECT,ID From ... Where convert(char(10), datesend, 121) = convert(char(10), dateadd(day,-1,getdate()), 121)" 
+0

('yyyy-MM-dd') & " '"이 문장을 사용할 때 비활성화되어 있습니까 ?? – ahmed

+0

미안 미안 미안 ..... 이거 ... 완벽한 친구 야 !! 대단히 감사합니다 . 그러나 내가 위의 성명서에서 abt "121"을 알고 싶었던 한 가지는? – ahmed

+0

오 ...이 형식은 'yyyy-MM-dd'입니다. 알았다. – ahmed

0

쿼리에 앰퍼샌드 (&)가 누락되었습니다. 또한, 쿼리에서 따옴표에 날짜를 넣어보십시오

myqry = " select SRNO,SUBJECT,ID where datesend ='" & backdate.ToString('yyyy-MM-dd') & "'" 
+0

shukriya Sarfraz bhai, 정말 고맙습니다. – ahmed

+0

@ahmed : 당신은 오빠입니다. – Sarfraz

0

myqry = '& backdate.tostring & ("MMMM yyyy를를 위해 dd") ""

+0

따옴표가 없습니다. – CResults

+0

지프, 추가, thx :) –

+0

Daniel 님의 답변에 감사드립니다. – ahmed

관련 문제