0
Я пытаюсь обновить строку в базе данных, где одно из значений даты/времени пуст.Извлечь запись из базы данных, где значение времени равно null
Код, приведенный ниже, дает ошибку: - Параметр? _2 не имеет значения по умолчанию.
Кто-нибудь знает, как работать с нулевыми/пустыми значениями?
Приветствия
OleDbCommand com = new OleDbCommand("SELECT count(*) from DI WHERE [Task] = ? AND [Time_Off] = ?", Program.DB_CONNECTION);
com.Parameters.Add(new OleDbParameter("", "DI"));
com.Parameters.Add(new OleDbParameter("", null));
int count = (int)com.ExecuteScalar();
if (count > 0)
{
OleDbCommand com1 = new OleDbCommand("UPDATE DI SET [Time_OFF] = ? WHERE [Task] = ? AND [Time_Off] = ?", Program.DB_CONNECTION);
com1.Parameters.Add(new OleDbParameter("", DateTime.Now.TimeOfDay));
com1.Parameters.Add(new OleDbParameter("", "DI"));
com1.Parameters.Add(new OleDbParameter("", null));
com1.ExecuteNonQuery();
}
else
{
DIPerson = DIlist[DIcomboBox.SelectedIndex];
OleDbCommand com2 = new OleDbCommand("INSERT INTO DI ([Person], [Task], [Time_On]) VALUES (?, ?, ?)", Program.DB_CONNECTION);
com2.Parameters.Add(new OleDbParameter("", DIPerson.ID));
com2.Parameters.Add(new OleDbParameter("", "DI"));
com2.Parameters.Add(new OleDbParameter("", DateTime.Now.TimeOfDay));
com2.ExecuteNonQuery();
}
Какая строка кода дает ошибку? –
Должно быть «[Time_Off] имеет значение null». И если вы хотите указать параметр, скорее всего, вам понадобится DBNULL, но не null –
@Anthony Elaborate и сделайте это ответом. –