读书人

高手来帮小弟我看看这异常该怎样来改哦

发布时间: 2012-03-02 14:40:29 作者: rapoo

高手来帮我看看这错误该怎样来改哦
我先用了:Dim binds As BindingSource = New BindingSource
Dim dt As DataTable = New DataTable
Dim da As Odbc.OdbcDataAdapter
Dim Conn As New Odbc.OdbcConnection
Conn = Me.comm.DBopen()
da = New Odbc.OdbcDataAdapter(sSelectCmd, Conn)
da.Fill(dt)
binds.DataSource = dt
Me.DgViewReportCode.DataSource = binds
Me.BindingNavReportCode.BindingSource = bind
*********************************************************
然后在另外一个过程用了
Dim dt1 As DataTable = New DataTable()
dt1 = Me.DgViewReportCode.DataSource ' ' '这里报错
IsPaste = False
dt1.AcceptChanges()
报错为: "无法将System.Windows.Forms.BindingSource类型转换为System.Data.DataTable类型 "

为什么会报这样的错啊......该怎样改了/???
(如果我把*以上的屏蔽,下面就没错了,但我不能屏蔽上面的任何代码哦)

[解决办法]
在你用DataAdapter对象填充时应该用数据集而不应该用表,修改成以下:
Dim binds As BindingSource = New BindingSource
Dim ds As DataTable = New DataSet
Dim da As Odbc.OdbcDataAdapter
Dim Conn As New Odbc.OdbcConnection
Conn = Me.comm.DBopen()
da = New Odbc.OdbcDataAdapter(sSelectCmd, Conn)
da.Fill(ds)
binds.DataSource = ds.Tables(0)
Me.DgViewReportCode.DataSource = binds
Me.BindingNavReportCode.BindingSource = bind

另外一个过程用:
Dim dt1 As DataTable = New DataTable()
dt1 = Me.DgViewReportCode.DataSource
IsPaste = False
dt1.AcceptChanges()

读书人网 >VB Dotnet

热点推荐