2012-06-14 3 views
0

Я получаю ошибку исключения: «Строка ввода не была в правильном формате». «Убедитесь, что аргументы метода находятся в правильном формате. При преобразовании строки в DateTime выполните синтаксический анализ строки, чтобы перенести дату перед каждой varibale в объект DateTime».Ошибка формата datetime

это указывает на последней строке этого кода:

cnaIntakeVSOutputDetail_Intake.Add(new IntakeVsOutput(
facility, 
UnitRepository.Units(facility).SingleOrDefault(u => u.Code.Equals(reader.To("UNIT_CODE", ""))), 
new Patient() 
{ 
    Account = reader.To("PATIENT_ID", ""), 
    MRN = reader.To("MRN", ""), 
    Name = reader.To("NAME_FULL", ""), 
    Room = reader.To("ROOM_BED", ""), 
}, 
    reader.To("INFO", ""), 
    Convert.ToDateTime(reader["TRDATE"]), 
    Convert.ToInt32(reader["MENU_ID"]), 
    Convert.ToInt32(reader["VALUE"]), 
    null, null, null)); 
+1

Что такое поле TRDATE? –

+0

, пожалуйста, используйте reader ["TRDATE"]. ToString() – MMK

+0

TRDATE - 2009-05-26 00: 00: 00.000 –

ответ

3

reader["TRDATE"] не содержит строку, которая Convert.ToDateTime может преобразовать в значение DateTime.

Возможно, это пустая строка или DBNull.Value или null.

0

попробовать DateTime.TryParse instade:

string dateString; 
DateTime dateValue; 
DateTime.TryParse(dateString, out dateValue); 
0

в первую очередь вам необходимо убедиться, что столбец содержит значение TRDATE остального будет срабатывать ошибка ввода не в правильном формате. для этого вы можете использовать

string.IsNullorEmpty (читатель [ «TRDATE»]. ToString())

метод, а затем вам нужно разобрать значения других мудрым установить свои значения по умолчанию или оставить он возвращает null.

Смежные вопросы