首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请教,更新数据库遇到空值,怎么处理呢

2013-08-09 
请问,更新数据库遇到空值,怎么办呢public void set_更新数据源(客户信息 信息){private string str ser

请问,更新数据库遇到空值,怎么办呢


public void set_更新数据源(客户信息 信息)
{
    private string str = "server = '(local)';database=Person;integrated security = true";
    string sqlstring = "UPDATE 客户表 SET 姓名 = @姓名,年龄 = @年龄,电子邮件=@电子邮件 WHERE 客户编号 = @客户编号";
    SqlConnection con = new SqlConnection(str);
    SqlCommand cmd = new SqlCommand(sqlstring,con);
    cmd.Parameters.AddWithValue("@姓名",信息.Name);
    cmd.Parameters.AddWithValue("@年龄", 信息.Age);
    cmd.Parameters.AddWithValue("@电子邮件", 信息.Email);
    cmd.Parameters.AddWithValue("@客户编号", 信息.Number);
    try
    {
        con.Open();
        cmd.ExecuteNonQuery();
    }
    finally
    {
        con.Close();
    }
}


问题:
信息对象的Email属性值为null,在提交数据库更新时,不能更新啊,这是为什么呢?
数据库中的电子邮件列是允许null值的啊,为什么插不进呢?
该怎么处理null值?
[解决办法]
如果是NULL,用“”替换
[解决办法]
空值就用字符串为空来代替了
[解决办法]
數據庫中是DBNULL
[解决办法]
當然也可以把NULL替換為""
[解决办法]
ISNULL(字段,‘’) AS 字段
[解决办法]
使用DBNull.Value
cmd.Parameters.AddWithValue("@电子邮件", 信息.Email ?? DBNull.Value);

热点排行