date saving in SQL using vb.net

2020-04-11 07:44发布

问题:

I m using the following code to save the date from a textbox and selecting the date using date picker.

 If (String.IsNullOrEmpty(DobTxt.Text)) Then
        SQLCmd.Parameters.Add("@DOB", SqlDbType.Date).Value = DBNull.Value
    Else
        Dim DOBDte As date= String.Format("{0:YYYY-MM-dd}", DobTxt.Text.Trim())
        SQLCmd.Parameters.Add("@DOB", SqlDbType.Date).Value = DOBDte
    End If

Now the code works just fine with dates like ""

but when you go for a date like "10/01/2016" I get this error:

Conversion from string "10/30/2016" to type 'Date' is not valid

could you please help

回答1:

Use TryParse to convert the text value to a date.

Dim dateValue As Date
If String.IsNullOrWhiteSpace(DobTxt.Text) Then
    SQLCmd.Parameters.Add("@DOB", SqlDbType.Date).Value = DBNull.Value
ElseIf Date.TryParse(DobTxt.Text.Trim(), dateValue) Then
    SQLCmd.Parameters.Add("@DOB", SqlDbType.Date).Value = dateValue
Else
    ' alert the user that there is invalid input
End If


回答2:

If you're using jQuery date picker, and your date format is not mm-dd-yy you should configure datepicker to that format:

$( ".selector" ).datepicker({
  dateFormat: "yy-mm-dd"
});