C# - 在SQL Compact Edition表中插入null

Ala*_*n_C 4 c# sql sql-server-ce

我试图使用参数将一些数据插入到SQL Compact Edition表中.我的表允许插入null,但是当我在下面运行我的代码时,我无法使其工作,因为其中一个参数有时会为空,并且当参数为null时我想在该列中插入null.

我怎么解决这个问题?

string strConn = Properties.Settings.Default.SqlConnectionString;


        using (SqlCeConnection conn = new SqlCeConnection(strConn))
        {
            conn.Open();
            using (SqlCeCommand cmd = new SqlCeCommand("insert into table(ID, Name, Adress) values (@parm1, @parm2, @param3)", conn))
            {
                cmd.Parameters.AddWithValue("@parm1", ID);
                cmd.Parameters.AddWithValue("@parm2", Name);
                cmd.Parameters.AddWithValue("@parm3", Adress);

                cmd.ExecuteNonQuery();
            }
        }
Run Code Online (Sandbox Code Playgroud)

Ste*_*ung 8

我认为你可以DBNull.Value在null时传递你的值:

cmd.Parameters.AddWithValue("@parm2", (Name as object) ?? DBNull.Value);
Run Code Online (Sandbox Code Playgroud)

  • @Stephen - 可能只是一个错字,但它是`x!= null?x:y`.这是一个空的检查,而不是一个布尔检查. (2认同)