2014-04-04 51 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