2016-03-22 9 views
0

また、次のトラブルシューティングのヒントが表示されます... "StringをDateTimeに変換する場合、各変数をDateTimeオブジェクトに入れる前にデータを取得するためにStringを解析します"'System.FormatException'がmscorlib.dllで発生しました - DateTime

私のプログラムがこれをDateTimeに変換しようとしている理由を理解できませんか? 自分のアクセスデータベース(接続済み)は厳密にautoNumbers、Numbers &という短いテキストです。

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") 

次のコードは、以前のフォームの問題を根絶しましたが、ここではそのように扱うことはできません。 (ComboBoxではなくTextBox)。初めて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") 
+0

私は自分のデータベース内の任意の日付を持っていない、またはそのことについては私のプロジェクトで! –

+0

私が許しているのは、ユーザーがプログラムを開いたりテーブルの新しい行に移動するたびに自動的に時刻をグリッドに追加したいだけですか? – Werdna

答えて

0

あなたが二回データセットを充填しているので、私は、あなたのコードを変更します

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 
+0

また、*の前にスペースがありません。 – Chuck

関連する問題