現在、私のプロジェクトには、SQLクエリの結果をDataGridViewオブジェクトに取り込む次のコードがあります。他の場所で私のプロジェクトでこのコードからVB.NETでデータセットを作成するにはどうすればよいですか?
Sub PerformQuery(ByVal SQLText As String)
Dim DbConnection As New OleDb.OleDbConnection(createConnectionString)
Dim SQLQuery As String = SQLText
Dim Adapter As New OleDb.OleDbDataAdapter(SQLQuery, DbConnection)
Try
Using Table As New DataTable
Adapter.Fill(Table)
Table.Locale = Globalization.CultureInfo.InvariantCulture
DbConnection.Close()
DataGridView1.DataSource = Table
End Using
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
私はコード
Dim ds As New DataSet
を使用してDataSet
オブジェクトを作成し、次のようなコードを使用して、そこからデータを抽出することができます。
MaxRows = ds.Tables("Dataset_Users").Rows.Count
よりもむしろDataGridViewのを移入、 PerformQuery
コードを使用してデータセットを作成するにはどうすればよいですか?
ご協力いただきありがとうございます。
:
今、あなたは、このような更新メソッドを呼び出します。行数を取得するには、DataSetは必要ありません。ほとんどの場合、テーブルコレクションです。あなたはおそらくフォームレベルのオブジェクトを作成したいと思うかもしれませんが、それ以外の場所で使用したいのですが、もしあなたがそれを二重にしなかったなら、あなたのテーブルで何かをすることができます – Plutonix
'MaxRows = ds.Tables(" Dataset_Users ")。Rows.Count'データセットにはデータが保持されないことに注意してください。 1つ以上のテーブルを保持しています。特定のテーブルで動作するようにコレクションにコードをドリルする方法に注目してください。 'MaxRows = Adapter.Fill(Table)' – Plutonix
'PerformQuery()'メソッドは深刻な欠陥があります。SQLインジェクション攻撃に脆弱なコードを書き込まなければならないからです。メソッドに追加のパラメーターを追加して、照会テキストに加えて照会データを受け取り、そのデータを使用してパラメーター化された照会を作成するメソッドをさらに更新する必要があります。 –