0

レコード セットに取得する SQL データベースの操作。これが機能しないことがわかる理由は何ですか? dataFN は datagridview の名前であり、これは正しいです。メッセージボックスには 51,000 件程度のレコードが表示されているため、SQL コマンドはうまく機能しています。

前もって感謝します

       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
4

2 に答える 2

1

OleDbDataAdapter を使用して、レコードセットからデータセットを埋めることができます。

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

これにより、正しいスキーマとデータを含むデータセットが作成されます-レコードセットは閉じられていることに注意してください(私が発見した限りでは元に戻すことはできません)。そのため、データをDBに書き戻す場合は、独自の挿入/更新/削除コマンドを作成します。

これは、ADO.NET を使用する途中の暫定的な手順としてのみお勧めしますが、アップグレード作業中に実行可能なアプリを提供するために機能します。

于 2012-07-03T02:18:37.280 に答える
0

データセットを使用していないのはなぜですか?

データをデータセットに入れる

そして、次を使用します。

mygrid.datasource = mydataset.tables(0).defaultview
mygrid.refresh
于 2012-07-02T14:37:22.177 に答える