Я немного зациклен на ошибке, которую я получаю при перемещении моего сайта с локального веб-сервера. На локальном я не получаю ошибки с этим кодом, на веб-сервере я получаю «Указанный ролик недействителен».Заданное значение Cast Invalid with DataRow
Строка кода метания ошибки является:
DateTime expirationDate = (DateTime)dtUser.Rows[0]["PasswordExpirationDate"];
Я думал, что это было правильным способом получить DateTime из базы данных и использовать его в C#. Я проверил значение не null, в настоящее время он выдается как 2013-11-18 16: 41: 41.937
Я уже пытался переключиться на Convert.ToDateTime (dtUser.Rows [0] ["PasswordExpirationDate"]) и это тоже не удается, с добавлением .ToString().
Я не могу найти причину, по которой веб-сервер выдает эту ошибку, а локальный - нет. У кого-нибудь есть лучший способ получить эту ценность или какие-либо идеи относительно того, что может быть проблемой с веб-сервером?
Так ли это строка (varchar) или DateTime в базе данных? Как вы его заполняете, с помощью DataAdapter или вручную? Является ли схема базы данных одинаковой или различной? –
Это DateTime в базе данных. Он заполнен SqlDataAdapter. Эти сайты используют одну и ту же базу данных, поэтому схема одинакова. – CoreyT
Что означает «это выходит как 2013-11-18 16: 41: 41.937». Это строка в 'DataTable'? Как выглядит sql-запрос, действительно ли вы выбираете поле datetime без преобразования в varchar? –