У меня есть поле даты (smalldatetime) в таблице, и в отдельных случаях мне нужно установить поле даты на ноль. В настоящее время при установке для свойства sqlparameter.value даты
endDateParam.Value = "5/15/2011"
поле обновлено с правильной датой. Однако, установив его на
endDateParam.Value = System.DbNull.Value
не обновляет поле.
Код:
Protected Sub ...
For Each r As GridViewRow In gvEmployees.Rows
SqlDataSource1.UpdateCommand = "<stored proc>"
SqlDataSource1.UpdateCommandType = SqlDataSourceCommandType.StoredProcedure
setParameters(r)
gvEmployees.UpdateRow(r.RowIndex, False)
Next
End Sub
Private updateParameters As New List(Of SqlParameter)()
Protected Sub setParameters(ByVal r As GridViewRow)
updateParameters.Clear()
Dim endDate As TextBox = TryCast(r.FindControl("txtEndDate"), TextBox)
Dim endDateParam As New SqlParameter("@enddate", SqlDbType.SmallDateTime)
endDateParam.Direction = ParameterDirection.Input
endDateParam.Value = System.DBNull.Value
updateParameters.Add(endDateParam)
End Sub
Protected Sub Sqldatasource1_Updating(ByVal source As Object, ByVal e As SqlDataSourceCommandEventArgs)
e.Command.Parameters.Clear()
For Each p As SqlParameter In updateParameters
e.Command.Parameters.Add(p)
Next
End Sub
Обновление
endDateParam.Value = System.Data.SqlTypes.SqlDateTime.Null
По-прежнему не обновляет поле. Ошибки не возвращаются.