Я работаю над C # winforms приложением с MS ACCESS в качестве бэкэнда. В таблице данных у меня есть столбец "startTime".
Мое требование: я хочу проверить время запуска и, если необходимо, отредактировать значение программно и сохранить его.
Например, если пользователь вводит «8:00 AM» вместо «8:00 AM», моя программа не должна выдавать ошибку, говорящую «недопустимый тип данных» (в базе данных «StartTime» - поле типа datetime). Скорее моя программа должна измениться с 8:00 до 8:00 и отправить 8:00 на сервер.
ниже вставлен код. Любые предложения, пожалуйста.
private void dgvSession_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
//** Validation for StartTime
if (e.ColumnIndex == this.dgvSession.Columns["StartTime"].Index)
{
string time = e.FormattedValue.ToString().Trim();
strtDt = e.FormattedValue.ToString().Trim();
if (!ValidateTime(time))
{
//MessageBox.Show("Entered time is not in a correct format.);
e.Cancel = true;
return;
}
}
}
public bool ValidateTime(string thetime)
{
Regex checktime = new Regex(@"(^([0-9]|[0-1][0-9]|[2][0-3])[.:]([0-5][0-9])(\s{0,1})(AM|PM|am|pm|aM|Am|pM|Pm{2,2})$)|(^([0-9]|[1][0-9]|[2][0-3])(\s{0,1})(AM|PM|am|pm|aM|Am|pM|Pm{2,2})$)");
return checktime.IsMatch(thetime);
}