Make A Date Null
有人能帮我修复我的代码吗?我正试图通过一个除外DTSWO的函数将空值放入SQL Server。
如果我把dtswo设置为Nothing,它会返回12:00:00 am,这会引发一个异常。该字段在SQL Server中可以为空。我只希望它返回一个空字段。
1 2 3 4 5 6 7 8 9 | Dim _swoDate As String = udSWOReceivedDateDateEdit.Text Dim _dtSWO As Date If _swoDate <>"" Then _dtSWO = Date.Parse(udSWOReceivedDateDateEdit.Text) Else 'THIS DOESNT WORK _dtSWO = Nothing End If |
您需要使用可为空的类型。默认情况下,日期不将空值(在vb.net中为零)作为值。可为空的类型不接受空(无)。
1 2 3 4 5 6 7 | Dim _dtSWO As Nullable(Of Date) If String.IsNullOrEmpty(_swoDate) Then _dtSWO = Date.Parse(udSWOReceivedDateDateEdit.Text) Else _dtSWO = Nothing End If |
根据注释编辑。
使其可以为空。与可空整数问题的情况相同。
1 2 3 4 5 6 7 8 | Dim _swoDate As String = udSWOReceivedDateDateEdit.Text Dim _dtSWO As Date? If _swoDate <>"" Then _dtSWO = Date.Parse(udSWOReceivedDateDateEdit.Text) Else _dtSWO = Nothing End If |