当XML文件中不存在该节点时插入空值?

时间:2014-05-12 14:53:33

标签: c# xml linq null return

澄清: 如果节点不存在,我如何将空值插入数据库。

这是每个值/名称出现的4个位置之一,因此我将尽可能清楚地描述一个项目的生命。

首先在LINQ部分设置变量:

    lastDateToOrder = (string) x.Descendants("lastDateToOrder").FirstOrDefault
    //This will either populate a date or null

其次是SQL语句:

    string qry = @"Insert into TABLE
                   (lastDateToOrder)
                  values(@lastDateToOrder)";

最后,设置参数:

    qryInsert.Parameters
    .Add("@lastDateToOrder", SqlDbType.DateTime).Value = entry.lastDateToOrder;

finally部分是导致问题的部分,因为我收到一个错误,说@lastDateToOrder没有定义,只有当值为null时才能看到这种情况。

我无法弄清楚出错是什么以及为什么当entry.lastDateToOrder带有空值时,它不会被设置为空。

1 个答案:

答案 0 :(得分:0)

通过挖掘另一个问题找到了这个答案。

Assign null to a SqlParameter

qryInsert.Parameters
.Add("@lastDateToOrder", SqlDbType.DateTime).Value = (object) entry.lastDateToOrder ?? DBNull.Value