Принудительно указывать определенный формат для даты или времени в datagridview независимо от того, какой это формат ввода пользователя - PullRequest
0 голосов
/ 01 октября 2018

У меня есть только столбец времени в datagridview. Я установил в нем формат столбца Time как t, но я получаю ошибку при добавлении его значения в базу данных с помощью параметризованного запроса, который говорит

SqlDbType.Time переполнение.Значение '955.00: 00: 00' находится вне диапазона.Должно быть между 00: 00: 00.0000000 и 23: 59: 59.9999999.

- это командная строка, которая связывает параметр

cmd.Parameters.Add(new SqlParameter("@START_TIME", SqlDbType.Time)).Value = DGV_PatientSessions.CurrentRow.Cells["DGV_PatientSessions_StartTime"].Value;

, потому что когда пользователь вводит дату случайным образомформат Мне нужно знать, как заставить или переписать введенный формат в определенный формат, чтобы избежать таких проблем, как

, или, возможно, изменить пользователя с помощью массажа для использования определенного формата вместо исключения

1 Ответ

0 голосов
/ 01 октября 2018

Вот пример того, как вы можете проверить значение этой ячейки, прежде чем пытаться присвоить его параметру SQL:

DateTime temp;
if (!DateTime.TryParse(DGV_PatientSessions.CurrentRow.Cells["DGV_PatientSessions_StartTime"].Value, out temp)
{
    MessageBox.Show("Start time is not a valid time");
    return;
}

Если оно прошло эту проверку, вы можете присвоить его параметру.

...