将SQLDateTime的Datarow列设置为Null

时间:2017-08-09 22:22:51

标签: sql-server vb.net sql-server-2008 ado.net

我正在加载一些ADO.net对象:

    tf.saved_model.signature_def_utils.build_signature_def( 
    inputs={‘images’: predict_tensor_inputs_info}, 
    outputs={‘scores’: predict_tensor_scores_info},
    method_name=\
        tf.saved_model.signature_constants.PREDICT_METHOD_NAME)

使用SQL Server 2008.dtCERT中的一列是SQL类型的datetime。该列可以为空。报告已经有一个值,但我需要将其设置为NULL。

    Dim conPERP As New System.Data.SqlClient.SqlConnection(OISConnectString)
    Dim cmd As New System.Data.SqlClient.SqlCommand("", conPERP)
    daCERTs.SelectCommand = New SqlCommand("SELECT * FROM PERP_Certs_DMS", conPERP)
    Dim cmdBldr As New SqlCommandBuilder(daCERTs) 
    daCERTs.Fill(dsCERTs)
    daCERTs.FillSchema(dsCERTs, System.Data.SchemaType.Mapped) ' later troubleshooting attempt
    dtCERTs = dsCERTs.Tables(0)

最后一行导致错误:

        sWhere = $"registrationNo={c("regNo")} AND Instance_ID={sInst}"
        row = dtCERTs.Select(sWhere)(0)
        row("Why_Archived") = DBNull.Value ' varchar - works
        row("Record_Archive_Date") = SqlDateTime.Null ' causes error

Null.Value不起作用。

SqldateTime.Null.Value导致错误:“数据为空。无法在空值上调用此方法或属性。”

如何将datetime列设置为NULL?

1 个答案:

答案 0 :(得分:1)

使用

row("Record_Archive_Date") = DBNull.Value

正如varchar

那样