Как мне справиться с заданием и значение dbnull значение извлекать в промежуток времени?
Я учусь создавать табель учета рабочего времени сотрудников, который содержит часы до и после перерыва.
Сотрудник может включать и выключать часы до того, как они пойдут на перерыв, и в этом случае я хотел бы вставить нулевое значение DB в свойства PostBreakClockIn и PostBreakClockOut.
Я присвоить значение типа TimeSpan значение null в эти свойства, но я не получаю ошибки, чтобы установить значение dbnull значение во время операции вставки.
Я также установил тип данных Time(7) в своей таблице БД и установил его в положение allow null.
Что я уже пробовал:
public int Id { get; set; } public int Day { get; set; } public string EmployeeName { get; set; } public TimeSpan? PreBreakClockIn { get; set; } public TimeSpan? PreBreakClockOut { get; set; } public TimeSpan? PostBreakClockIn { get; set; } public TimeSpan? PostBreakClockOut { get; set; }
using (SqlConnection con = new SqlConnection(cs)) { using (SqlCommand cmd = new SqlCommand(query.ToString(), con)) { cmd.CommandType = System.Data.CommandType.Text; if (update) { cmd.Parameters.AddWithValue("@Id", model.Id); } cmd.Parameters.AddWithValue("@EmployeeName", model.EmployeeName); cmd.Parameters.AddWithValue("@Day", model.Day); cmd.Parameters.AddWithValue("@PreBreakClockIn", model.PreBreakClockIn); cmd.Parameters.AddWithValue("@PreBreakClockOut", model.PreBreakClockOut); cmd.Parameters.AddWithValue("@PostBreakClockIn", model.PostBreakClockIn); cmd.Parameters.AddWithValue("@PostBreakClockOut", model.PostBreakClockOut??DBNull.Value); con.Open(); rowAffected = cmd.ExecuteNonQuery(); } }
Jörgen Andersson
Кроме того, прекратите использовать AddWithValue!
https://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/