0

次の関数を呼び出して、Datatableをdatagridビューにロードします。

 Public Sub GetData(ByVal selectCommand As String, ByVal bindingSource As BindingSource, ByVal table As DataTable)
    Try
        Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\adm\Desktop\222.mdb"
        Me.dataAdapter = New OleDbDataAdapter(selectCommand, connectionString)
        Dim commandBuilder As New OleDbCommandBuilder(Me.dataAdapter)
        table.Locale = System.Globalization.CultureInfo.InvariantCulture
        Me.dataAdapter.Fill(table)
        bindingSource.DataSource = table
    Catch ex As OleDbException
        MessageBox.Show(ex.Message)
    End Try
End Sub

そして、これが関数呼び出しです:

GetData("select * from products where ID=1 or ID=2", bindingSource1, t1)

さて、データテーブルはソースデータベースからの列タイプをそのまま定義しますか?DateTime列にデータを追加しようとすると、その列は整数型であると表示されますが、AccessではそれがDateTime列であることがわかります。それで、各列に各タイプを指定する必要がありますか、それとも自動的に行われますか?

4

1 に答える 1

2

日付値を渡す列のタイプをチェックして、値がそうでないことを確認しますint。そうでない場合は、次のように変更します。datetime

編集 データテーブルのプロパティに移動し、列タイプを次のように変更しますdatetime

于 2012-08-12T15:56:47.590 に答える