cih*_*a87 1 c# dbnull sqlparameter
我想了解哪种用法是正确的?
if(!string.IsNullOrEmpty(parentID))
cmd.Parameters.Add(new SqlParameter("@ParentSesID", parentID));
else
cmd.Parameters.Add(new SqlParameter("@ParentSesID", DBNull.Value));
Run Code Online (Sandbox Code Playgroud)
要么
if(!string.IsNullOrEmpty(parentID))
cmd.Parameters.Add(new SqlParameter("@ParentSesID", parentID));
else
cmd.Parameters.Add(new SqlParameter("@ParentSesID", DBNull.Value.ToString()));
Run Code Online (Sandbox Code Playgroud)
cmd.Parameters.Add(new SqlParameter("@ParentSesID", parentID));
Run Code Online (Sandbox Code Playgroud)
这会将parentID传递给参数@ParentSesID。
cmd.Parameters.Add(new SqlParameter("@ParentSesID", DBNull.Value));
Run Code Online (Sandbox Code Playgroud)
正在将null值传递给参数。
cmd.Parameters.Add(new SqlParameter("@ParentSesID", DBNull.Value.ToString()));
Run Code Online (Sandbox Code Playgroud)
正在传递等于string.Empty,这在数值数据类型中是不允许的。
cmd.Parameters.Add(new SqlParameter("@ParentSesID", null);
Run Code Online (Sandbox Code Playgroud)
与忽略参数相同。
因此,当您需要通过nullSP时,就必须通过DBNull.Value。