专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VB Dotnet

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

发布时间:2011-06-23 16:00:42 文章来源:www.iduyao.cn 采编人员:星星草
高手来帮我看看这错误该怎样来改哦
我先用了: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()

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: