vb.net - mscorlib.dll-DateTime中发生“System.FormatException”

标签 vb.net datetime error-handling

同时出现以下故障排除提示...
“在将字符串转换为DateTime时,在将每个变量放入DateTime对象之前,分析String以获取数据”

我不知道为什么我的程序试图将其转换为DateTime?
我的访问数据库(已连接)严格是autoNumbers,Numbers和Short Text。

Dim objConnection As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source= InfoSystem.accdb")
Dim objAdminDA As New OleDb.OleDbDataAdapter("Select *from tblStudents", objConnection)
Dim objAdminCB As New OleDb.OleDbCommandBuilder(objAdminDA)
Dim objDataSet As New DataSet()

Private Sub frmAdmin_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    'Clears DataSet of any existing data
    objDataSet.Clear()
    'Fills schema - adds table structure information to DataSet
    objAdminDA.FillSchema(objDataSet, SchemaType.Source, "tblStudents")
    'Fills DataSet with info from the DataAdapter
    objAdminDA.Fill(objDataSet, "tblStudents")
    'Fill the DataSet with info from the Admin table
    objAdminDA.FillSchema(objDataSet, SchemaType.Source, "tblStudents")
    objAdminDA.Fill(objDataSet, "tblStudents")

    Dim objRow As DataRow
    objRow = objDataSet.Tables("tblStudents").Rows.Find("StudentNo")

    txtAdminID2.Text = objRow.Item("StudentName")
    txtAdminName2.Text = objRow.Item("AdminName")
    txtDept2.Text = objRow.Item("Department")
    txtTitle2.Text = objRow.Item("Title")

以下代码在以前的形式上消除了该问题,但似乎无法在此处进行处理。 (用TextBox代替ComboBox)。第一次在VB.net中使用数据库。
Dim objRow As DataRow
    objRow = objDataSet.Tables("tblAdmins").Rows.Find(cboxAdminID.SelectedItem.ToString)
    txtAdminName.Text = objRow.Item("AdminName")
    txtDept.Text = objRow.Item("Department")
    txtTitle.Text = objRow.Item("Title")

最佳答案

我将更改您的代码,因为您两次填充了数据集:

Dim objConnection As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source= InfoSystem.accdb")
Dim objAdminDA As New OleDb.OleDbDataAdapter("Select * from tblStudents", objConnection)
Dim objAdminCB As New OleDb.OleDbCommandBuilder(objAdminDA)
Dim objDataSet As New DataSet()

Private Sub frmAdmin_Load(sender As Object, e As EventArgs) Handles MyBase.Load

'Clears DataSet of any existing data
objDataSet.Clear()
'Fills DataSet with info from the DataAdapter
objAdminDA.Fill(objDataSet, "tblStudents")

' Get the row with the matching StudentNo
Dim objRow As DataRow
objRow = objDataSet.Tables("tblStudents").Rows.Find("StudentNo")

If objRow.count = 1 Then
    txtAdminID2.Text = objRow.Item("StudentName").ToString
    txtAdminName2.Text = objRow.Item("AdminName").ToString
    txtDept2.Text = objRow.Item("Department").ToString
    txtTitle2.Text = objRow.Item("Title").ToString
End-if

关于vb.net - mscorlib.dll-DateTime中发生“System.FormatException”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36149917/

相关文章:

vb.net - 星号的正确使用

html - 无法从后面的代码中设置 asp.net 下拉列表选定值

mysql - 如何从 UTC 时间获取 MySQL 中的 Unix 时间戳?

python - 为什么 Python 既有模块又有名为 datetime 的类?

http - HTTP GET错误用户无效

asp.net - 将子字符串转换为链接的正则表达式

vb.net - 帮助 Dispatcher.BeginInvoke

c# - 异步过程中的 DateTime 转换

java - Java if 语句中的异常处理

error-handling - 对于没有返回值的语句,忽略错误的正确方法是什么?