vb.net - 字符串未被识别为有效的 DateTime Datetimepicker vb.net
问题描述
我需要在 datetimepicker 中显示从 mysql 数据库中获取的日期。运行此代码时出现此错误。
系统。FormatException: String 未被识别为有效的 DateTime。
在 System.DateTimeParse.ParseExact(String s, String format, DateTimeFormatInfo dtfi, DateTimeStyIes style)
在 System. DateTime.ParseExact(String s, String 格式, IFormatProvider 提供者)
注意:当 mysql 阅读器读取 rdate 值为 2/13/2019 12:00:00 AM rdatecorrected 值为 2/13/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
解决方案
推荐阅读
- ios - 如何反向绘制圆形动画?
- c++ - 如何使用 QAction 将特定的 QTableView 列从格式 A 转换为格式 B
- python - 在 launchctl 上运行 Python 脚本 - 错误 127
- sql - SQL 语句 // 与日期时间之间
- windows - 在 Windows Batch 中迭代键值对
- ruby-on-rails - Ruby 中的 Phusion Passenger 独立 Web 服务器 - Gem 加载错误
- java - hibernate + jersey2 + Json + blob 图像
- javascript - 移除 HTML 元素周围的奇怪边框
- python - conda 相当于 pip install
- python - 授权失败,因为服务器遇到了阻止其完成请求的意外情况