Как условно установить для столбца значение по умолчанию с MySqlParameter? - PullRequest
2 голосов
/ 09 сентября 2008

У меня есть таблица в базе данных MySql, в которой хранятся учетные записи пользователей. В одном из столбцов expires хранится дата окончания срока действия, но по умолчанию используется значение NULL. Мне нужно иметь возможность удалить дату истечения срока действия и установить для нее значение по умолчанию.

В настоящее время все мои подпрограммы CRUD написаны с использованием MySqlCommand с параметрами. Можно ли это сделать напрямую с помощью MySqlParameter или мне нужно создать альтернативный объект команды для обработки этой возможности?

Ответы [ 3 ]

3 голосов
/ 12 сентября 2008

Проблема была в DBNull, делая:

command.Parameters.AddWithValue("@parameter", null);

компилирует ОК.

0 голосов
/ 22 ноября 2010

Я обычно устанавливаю значения, которые по умолчанию должны быть пустыми или пустыми, в коде, затем перед выполнением запроса запускаю следующий цикл:

foreach(MySqlParameter param in cmd.Parameters)
    if (param.Value == null) param.Value = DBNull.Value;
0 голосов
/ 09 сентября 2008

Непонятно, о каких условиях ты говоришь. Если вы хотите установить для столбца значение по умолчанию, вы можете использовать DbNull.Value ;

command.AddWithValue("@param", DbNull.Value);

or

command.Parameters.Add("@param", <data type>).Value = DBNull.Value;
...