Как передать значение datetime в качестве параметра для выбора строк из таблицы datatable?
Привет всем, у меня есть datatable с именем shifttable. Я хочу узнать строки, передавая параметры datetime, но он генерирует ту же ошибку, что и раньше, то есть преобразование не удалось . что мне нужно, так это как передать параметр для datatable. могу ли я помочь вратам, пожалуйста?
вот мой код:
Периода датавремя= Датавремя.сейчас
DataRow[] found = shifttable.Выберите("EMPLOYEEID ='" + empid.ToString() + "' и STARTDATE<='" + daterange + "' и ENDDATE>='" + daterange + "'");
в этом случае значение daterange равно 2017-11-23 8:06:34 nm. вот почему мой код генерирует ошибку. поэтому я должен параметризовать свой код. любая помощь пожалуйста
Что я уже пробовал:
Периода датавремя= Датавремя.сейчас
DataRow[] found = shifttable.Выберите("EMPLOYEEID ='" + empid.ToString() + "' и STARTDATE<='" + daterange + "' и ENDDATE>='" + daterange + "'");
an0ther1
Что такое тип данных ваша начальная дата &усилителя; дата окончания столбцов?
Если это столбцы DateTime & в том же формате, ваш выбор должен работать.
Если они не являются столбцами DateTime или находятся в другом формате вам нужно будет преобразовать передаваемое значение
Используйте свой отладчик и посмотрите на тип данных ваших столбцов и проверьте значения.
с уважением
Tom G/mariam
Столбцы StartDate &EndDate - это формат даты и времени.
когда я отслеживаю значение daterange - 2017-11-23 8:06:34 nm, которое не является допустимым форматом даты. вот почему мой код генерирует ошибку. поэтому я должен параметризовать свой код. любая помощь, пожалуйста.
an0ther1
Согласно нижеприведенному комментарию - вам нужно преобразовать значение DateTime в строку в правильном формате.
Ссылаться; https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings
Преобразование значений в параметры не поможет - DataTable.Select не поддерживает параметры - см.; https://msdn.microsoft.com/EN-US/library/t5ce3dyt(v=VS.110,d=hv.2).aspx
Используйте свой отладчик & немедленное окно для тестирования преобразования значений в различные форматы
F-ES Sitecore
использовать
периода.ToString("гггг-ММ-ДД")
чтобы получить его в правильном формате, добавьте время тоже, если это важно.