SqlCeCommand обнуляемые значения

#c# #visual-studio-2010 #sql-server-ce

#c# #visual-studio-2010 #sql-server-ce

Вопрос:

Мой код:

 SqlCeConnection sql = new SqlCeConnection(@"Data Source=C:DB.sdf");
sql.Open();
cmd = new SqlCeCommand("INSERT INTO xxx(aaa) VALUES(@aaa)", sql);
String param = null;  //doesn't work
//String param = "blah" //works
cmd.Parameters.AddWithValue("@aaa", param);
cmd.ExecuteNonQuery(); //(1)
sql.Close();
  

(1) выдает исключение, когда param равно null. База данных допускает, чтобы значение в столбце aaa было нулевым. Как я могу вставить null в таблицу xxx?

Исключение:
Parameterized query 'INSERT INTO xxx(aaa) VALUES(@aaa)' expects a parameter value which was not supplied.

Ответ №1:

Попробуйте использовать DBNull.Value вместо:

 var param = DBNull.Value;
  

Ответ №2:

Использовать

 var param = DBNull.Value;
  

null — это не то же самое, что DBNull

Комментарии:

1. Может DBNull. Значение может быть преобразовано в строку?