如何将 ADODB Recordset 用于 DatagridView 的导航器?



hy,我需要帮助

我想做的是将 adodb 记录集用于 datagridview 的导航器,例如:我用这段代码制作一个下一个按钮:

RS.movenext()
textbox1.text = RS.fields(0).value

这是我的连接,记录和DatagridView代码:

Dim con As New ADODB.Connection()
con.ConnectionString = "xxx"
con.open()
Dim RS As New ADODB.Recordset()
RS.open("Select xxx from yyy", con);
Dim dA As New OleDbDataAdapter()
Dim dS As New DataSet()
dA.Fill(dS, RS, "xxx")
DataGridView1.DataSource(dS.Tables(0))

该错误显示"关闭对象时不允许操作"。

您在尝试将旧版 ADODB 记录集与 .NET 代码混合时犯了一个流行的错误!此外,您将永远无法将记录集直接绑定到网格,因为与几乎所有数据感知控件一样,它希望实现IEnumerable作为其数据源。调用MoveNext方法根本无法帮助您在此处浏览记录。

如果要生成出色的 .NET 数据感知应用程序,则必须首先了解 .NET 中的绑定的工作原理。忘记你记得的关于 vb6 时代绑定如何工作的任何内容,忘记以前的 ado 库,它根本不适用了。

相反,请使用 ado.net 对象来获取数据,并使用标准 .NET 绑定对象(如 DataSet、实体或实际上几乎任何您喜欢的对象)来显示和操作它。

MSDN 网站上的这些链接将帮助您入门:

  • ADO.NET
  • 如何:将 DataView 对象绑定到 Windows 窗体 DataGridView 控件

最新更新