C# SqlCeCommand可空值

C# 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(

我的代码:

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时引发异常。数据库允许COLLMN
aaa
中的值为空。如何在表xxx中插入null

例外情况:
参数化查询“插入xxx(aaa)值(@aaa)”需要一个未提供的参数值。

使用

var param = DBNull.Value;

null与DBNull不是一回事

请尝试改用
DBNull.Value

var param = DBNull.Value;

DBNull.Value能否转换为字符串?