У меня есть многоязычное приложение, в котором я использую языки "en-US" и "ar-KW".
У меня также есть WinForm, где я использую элемент управления DateTimePicker.
Когда пользователь входит в систему, если его язык по умолчанию «en-US», он сохраняет запись, но когда у него есть язык по умолчанию «ar-KW», этот формат даты не сохраняется в базе данных и выдает ошибку. Почему?
Тип данных поля Employee DateOfBirth: smallDateTime
в SQL Server.
Я использую следующий код в VB, чтобы сохранить запись. В бэкэнде есть обычная INSERT
хранимая процедура.
If Me.dtDateOfBirth.Checked = False Then
cmd.Parameters.Add("@DateOfBirth", SqlDbType.SmallDateTime).Value = SqlDateTime.Null
Else
If mUserDefaultLanguage = "ar-KW" Then
Me.dtDateOfBirth.Format = DateTimePickerFormat.Custom
Me.dtDateOfBirth.CustomFormat = "dd/MM/yyyy"
Dim oDate As String = Me.dtDateOfBirth.Text
Dim dt As Date
dt = (CType(oDate, Date))
cmd.Parameters.Add("@DateOfBirth", SqlDbType.DateTime).Value = SqlDateTime.Parse(dt)
Else
cmd.Parameters.Add("@DateOfBirth", SqlDbType.DateTime).Value = SqlDateTime.Parse(Me.dtDateOfBirth.Text)
End If
End If