我们往数据库表中添加一行数据的时候,数据库允许某一列为空,但是实际案例操作添加的时候,会遇到一些问题,比如下图。这样,我们就需要做一些处理。
这个两种修改方式
:
第一种:
在方法体中,实体类赋值时修改。用三目运算。
UserInfo userInfo = new UserInfo();
userInfo.NickName = string.IsNullOrEmpty(register.txtNickName) == true ? "" : register.txtNickName.ToLower().Trim();
第二种:
在DAL(数据链路层),
SqlParameter[] pars = {
new SqlParameter("@UserName",userInfo.UserName),
new SqlParameter("@NickName",userInfo.NickName),
new SqlParameter("@Password",userInfo.Password.),
new SqlParameter("@Mail",userInfo.Mail),
new SqlParameter("@Address",userInfo.Address),
new SqlParameter("@Phone",userInfo.Phone)
};
foreach (SqlParameter item in pars)
{
if (item.Value==null)
{
item.Value = DBNull.Value;
}
}
第一种直接用空字符串。第二种,循环遍历。对传入的数据作空值的处理,一旦其为空,就设置为DBNull.value.
在尝试向数据库表添加数据时,如果遇到因为空值引发的错误,可以采取两种方法进行处理。方法一是在实体类赋值时使用三目运算确保空值被转换为空字符串。方法二是在数据访问层(DAL)中,循环遍历SqlParameter数组,将空值替换为DBNull.Value。这两种方法都能有效避免因为空值导致的参数化查询失败。
447

被折叠的 条评论
为什么被折叠?



