Страница: 1 |
Страница: 1 |
Вопрос: ADO.NET -> сравнение дат
Добавлено: 21.01.05 13:00
Автор вопроса: Svetlana | ICQ: 262385618
Ребят, подскажите, плз, как можно справиться с такой ошибкой:
...lab1(0).Text = #9:00:00 AM#....
DR = Comm.ExecuteReader
i = 1
Do While DR.Read
MessageBox.Show(DR("Start_Time") & "/" & DR("End_Time"))
Do While i < 23
If CDate(DR("Start_Time")) <= CDate(lab1(i).Text) And CDate(DR("end_Time")) > CDate(lab1(i).Text) Then
...
End If
i = i + 1
Loop
Loop
MessageBox выдает даты, а ниже надо сравнить дату в DR и дату в лейбле. Я уже смого вариантов конвертирования перебрала.. Что-то никак не получается.. В данном варианте пишит: "Cast from string "S" to type 'Date' is not valid."
Ответы
Всего ответов: 1
Номер ответа: 1
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #1
Добавлено: 21.01.05 13:08
Код правильный.
Ошибка в том, что какое-то из выражений, для которых ты вызываешь
CDate: DR("startdate", DR("enddate", labl(i).Text - не является
датой (судя по тексту ошибки, оно равно строке "S".
Проверь, что выведет в консоль такой код:
DR = Comm.ExecuteReader
i = 1
Do While DR.Read
 o While i < 23
Console.WriteLine "---" & i.ToString & "---"
Console.WriteLine IsDate(DR("Start_Time")
Console.WriteLine IsDate(DR("end_Time")
Console.WriteLine IsDate(lab1(i).Text)
i = i + 1
Loop
Loop