2012-07-02 86 views
0

使用SQL數據庫檢索到記錄集。任何理由你可以看到這不起作用? dataFN是datagridview中的名稱,這是正確的。該消息框顯示51,000左右的記錄,所以SQL命令運行良好。如何從記錄集寫入到datagridview?

在此先感謝

 Dim i As Integer = 0 
    rs.Open("SELECT Elig.FirstName, Elig.LastName, Elig.GroupID, CallLog.EligID, " + _ 
     "CallLog.DateTime, CallLog.AssignTo, CallLog.Status, CallLog.ReasonCode, " + _ 
     "CallLog.ReasonDesc FROM Elig INNER JOIN CallLog ON Elig.EligID = CallLog.EligID " + _ 
     "ORDER BY Elig.FirstName", AdoCon, rs.CursorType, rs.LockType, 0) 

    MessageBox.Show("you have " + rs.RecordCount.ToString + " rows") 

    While Not rs.EOF 
     DataGridView1.Rows(i).Cells("DataFN").Value = rs.Fields("FirstName").Value.ToString 
     rs.MoveNext() 
     i += 1 
    End While 
+0

明白了......需要在添加行之前添加一行... DUH DataGridView1.Rows.Add() – Coomanperson

回答

0

你爲什麼不使用數據集呢?

讓你的數據到數據集

,然後使用:

mygrid.datasource = mydataset.tables(0).defaultview 
mygrid.refresh 
1

您可以使用一個OleDbDataAdapter從記錄填充數據集:

Using da as OleDbDataAdapter = New OleDbDataAdapter() 
    Dim ds as DataSet = New Dataset 
    da.Fill(ds, rs, tableName) 
End Using 

這將創建一個數據集使用正確的模式和數據 - 請注意,記錄集是關閉的(儘可能發現我的數據是不可逆的),所以如果您要將數據寫回數據庫,您必須製作您自己的插入/更新/刪除命令。

我只推薦這個作爲使用ADO.NET的臨時步驟,但它確實有助於在升級時爲您提供可用的應用程序。