Строка не была распознана как допустимый DateTime Datetimepicker vb.net

Мне нужно показать дату, которую я получил из базы данных mysql, в datetimepicker. Я получаю эту ошибку, когда запускаю этот код.

Система. FormatException: String не был распознан как допустимый DateTime.
в System.DateTimeParse.ParseExact(String s, формат строки, DateTimeFormatInfo dtfi, стиль DateTimeStyIes)
в System. DateTime.ParseExact (строка s, формат строки, поставщик IFormatProvider)

примечание: когда программа чтения mysql считывает значение rdate, это 13.02.2019 00:00:00, значение rdatecorrected равно 13.02.2019

Я видел несколько ответов с похожими вопросами, в которых используется один M вместо MM и один d вместо dd, чтобы соответствовать формату значений месяца и даты, которые представляют собой одно число. Но у меня есть эти записи каждый день в течение всего года, поэтому мне нужен способ получить эту работу, даже если это месяц с одним значением, например 9, или месяц с двумя значениями, например 11.

Я все еще начинающий программист, поэтому я был бы признателен, если бы вы могли показать мне решение с отредактированным кодом.

imports: Imports System.IO
Imports System
Imports MySql.Data.MySqlClient
Imports System.Globalization

    If System.IO.File.Exists("D:\DBSystem\Connection\connconfig.dbs") = True Then

        Dim realstuno As Integer
        realstuno = ESD_Realstudentno.Text

        Dim strFile As String = "D:\DBSystem\Connection\connconfig.dbs"
        Dim sr As New IO.StreamReader(strFile)
        Dim ip As String
        Dim port As String
        Dim userid As String
        Dim password As String
        Dim database As String

        'reading
        ip = sr.ReadLine()
        port = sr.ReadLine()
        userid = sr.ReadLine()
        password = sr.ReadLine()
        database = sr.ReadLine()
        sr.Close()


        'default connection code
        Dim serverstring As String = "server=" & ip & ";port=" & port & ";database=" & database & ";user ID=" & userid & ";password=" & password & ";OldGuids=true"
        Dim sqlconnection As MySqlConnection = New MySqlConnection
        sqlconnection.ConnectionString = serverstring
        Dim Reader As MySqlDataReader
        Dim Rdate As String
        Dim SDA As New MySqlDataAdapter
        Dim DbDataSet As New DataTable
        Dim bSource As New BindingSource
        Dim rdatecorrected As String

        'custom date format
        'rdate
        ESD_Rdate.Format = DateTimePickerFormat.Custom
        ESD_Rdate.CustomFormat = "MM/dd/yyyy"


        Try
            If sqlconnection.State = ConnectionState.Closed Then
                sqlconnection.Open()

                'search
                Dim sqlstatement As String = "Select Registereddate FROM `SDS_Data` WHERE `StudentNo` ='" & realstuno & "'"
                Dim Command = New MySqlCommand(sqlstatement, sqlconnection)
                Reader = Command.ExecuteReader
                If Reader.HasRows() Then
                    While Reader.Read


                        'rdate
                        Rdate = Reader.GetString("Registereddate")
                        rdatecorrected = Rdate.Remove(Rdate.Length - 12, 12)
                        Dim dt As DateTime = DateTime.ParseExact("" & rdatecorrected & "", "MM/dd/yyyy", CultureInfo.InvariantCulture)
                        ESD_Rdate.Value = dt

                    End While
                Else
                    MessageBox.Show("No records found!", "Error")
                End If
            Else
                sqlconnection.Close()
                MsgBox("Connection Error!", "Error")

            End If

        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try

    Else
        MessageBox.Show("Do not have any previous database configurations!", "Error",
           MessageBoxButtons.OK)
    End If

person Nemar162    schedule 09.05.2019    source источник
comment
Не добавляйте в строку двойные кавычки, ParseExact() этого не потерпит. И никогда не храните даты в виде строк в базе данных, измените тип столбца на DATETIME.   -  person Hans Passant    schedule 09.05.2019
comment
M означает одну или две цифры. ММ означает ровно две цифры. То же самое касается d и dd. Кроме того, вам действительно следует использовать Option Strict On и установить его по умолчанию для новых проектов.   -  person Andrew Morton    schedule 09.05.2019
comment
Каков тип данных вашего столбца Registereddate в вашей базе данных? Вы можете это показать?   -  person Chris Dunaway    schedule 09.05.2019