Мне нужно показать дату, которую я получил из базы данных 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
Option Strict On
и установить его по умолчанию для новых проектов. - person Andrew Morton   schedule 09.05.2019