Ошибка формата даты в vb.net? - PullRequest
0 голосов
/ 19 апреля 2010

Я получаю эту ошибку при запуске приложения Incorrect syntax near 12, при отладке я обнаружил, что эта ошибка вызвана из-за # вместе с датой.

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

при привязке данных к сетке для фильтрации записей задних дат эта ошибка вызвана Неправильный синтаксис около 12 .

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

Теперь я пытаюсь извлечь только дату, или я должен разделить дату на день, месяц и год с помощью DATEPART и взять в переменную или преобразовать дату, или что мне делать, пожалуйста, помогите ???

Ответы [ 3 ]

2 голосов
/ 19 апреля 2010

Это правильное утверждение:

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 преобразует в следующий формат: гггг-мм-дд чч: ми: сс.ммм (24 ч), из этой строки мы получим первые 10 символов (символ (10)).

Без параметров:

myqry = "Select SRNO,SUBJECT,ID From ... Where convert(char(10), datesend, 121) = convert(char(10), dateadd(day,-1,getdate()), 121)"
0 голосов
/ 19 апреля 2010

myqry = "выберите SRNO, SUBJECT, ID, где datesend = '" & backdate.tostring ("dd MMMM yyyy") & "'"

0 голосов
/ 19 апреля 2010

Обратите внимание, что вам не хватает амперсанда (&) в вашем запросе. Также попробуйте указать дату в кавычках в запросе:

myqry =  " select SRNO,SUBJECT,ID where datesend ='" & backdate.ToString('yyyy-MM-dd') & "'"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...