2014-04-04 49 views
0

HY一切,我需要帮助如何将adodb记录集用于datagridview的导航器?

我想要做的是使用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)) 

错误说“操作不允许当对象关闭。”

+3

为什么你甚至在.NET应用程序中使用旧ADODB记录? – Crono

回答

1

您正在制作严重错误试图将旧ADODB记录集与.NET代码混合在一起!此外,您永远无法将记录集直接绑定到网格,因为几乎每个数据感知控件都需要将IEnumerable作为其数据源的实现。调用MoveNext方法将无助于您在此浏览您的记录。

如果你想建立伟大的.NET数据的应用程序,你必须学会​​如何结合在.NET工作第一。忘记你记得关于绑定如何在天内工作的任何事情,忘掉前面的库,它不再适用。

取而代之,使用对象来获取您的数据和标准.NET绑定对象,如DataSet,实体或实际上几乎任何您喜欢的东西,只要它是纯.NET对象即可显示和操作它。

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

+0

oke,我会尝试使用该绑定对象,但是如果我想添加一些搜索语法,可以重新查询它吗? – bagus

+0

@bagus这一切都取决于您最终将使用的源的类型。如果你想要一个'DataSet',那么你可能会简单地调用一个数据适配器的'Fill'方法。我真的建议你尝试在Google上找到帮助你入门的教程。 – Crono

+0

好的,这是很好的解释..谢谢兄弟 – bagus