2012-08-12 108 views
0

我加载一个DataTable到DataGrid视图通过调用下面的函数:VB.NET数据表列类型

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列。那么我需要为每一列指定每种类型还是自动完成?

+0

这是一个类型数据集? – 2012-08-12 15:53:18

+0

t1是一个Datatable – user1590636 2012-08-12 15:55:26

回答

2

检查要在其中传递日期值列的类型确保该值不int。如果它是的话将其更改为datetime

编辑 转到的属性你的数据表,并将列类型更改为datetime