I am looking for the best practice, real solution, to send a Null
to a SQL Server 2008 R2 database table, when a date is unknown.
I read some inputs from a formview, and a date field maybe unknown. The database allows Null values in the field but the VB to store the Null prior to a parameterized query update is not working/eludes me.
Dim tb2 As TextBox = TryCast(FormView1.FindControl("tbPurchDate"), TextBox)
Dim purDT As Date
If tb2.Text = "" Then
IsDBNull(purDT) ' Tried this along with other possible code
Else
purDT = Convert.ToDateTime(tb2.Text)
End If
Any help would be greatly appreciated.
It depends on the data method you are using to send the data to the server.
purDate is a variable of DateTime type and it cannot be set to null.
I suggest you use IsDate instead of testing length.
You could use the
Nullable(Of Date)
to allow yourpurDT
variable to also beNothing
:However, the magic happens when you define the SQL parameter that will hold this value. The parameter should either be
DBNull.Value
or a valid (non-null)Date
:Try this :
If the date is unknown, send
DbNull.Value
as the parameter's value: