DataGridViewにSQLiteデータベースのデータを取り込む方法SQLiteDataAdapterを使用して簡単にテーブルを作成し、DataGridViewのDataSourceにテーブルを作成する方法は次のとおりです。SQLiteDataAdapterとSQLiteDataReaderを使用したDataGridViewの作成の相違点
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles cdmDataTable.Click
Dim conn = New SQLiteConnection("Data Source=MyDataBase.sqlite;Version=3")
Try
Using (conn)
conn.Open()
Dim sql = "SELECT * FROM users"
Dim cmdDataGrid As SQLiteCommand = New SQLiteCommand(sql, conn)
Dim da As New SQLiteDataAdapter
da.SelectCommand = cmdDataGrid
Dim dt As New DataTable
da.Fill(dt)
DataGridView1.DataSource = dt
Dim readerDataGrid As SQLiteDataReader = cmdDataGrid.ExecuteReader()
End Using
Catch ex As Exception
MsgBox(ex.ToString())
End Try
SQLiteDataAdapterの代わりにSQLiteDataReaderを使用する利点はありますか?
アダプタを使用する方が簡単ですが、SQLiteDataAdapterは内部的にSQLiteDataReaderを使用してテーブルを埋めます。リーダを使ってグリッドを塗りつぶすと、ループが1つ少なくなります。あなたはperfomanceの問題を持っていない場合は、アダプタを貼ってください。 (または、ORMを使用してユーザーオブジェクトのリストを使用してください) – Steve
@ Steve実際、単純なSQL SELECTとwhere句なしで、DAはDataReaderより高速です。奇妙に見えますが、その差はかなり小さいですが、一貫しています(150k行では約5秒です)。 <5k行で測定するのは難しいので、心配しないでください。 – Plutonix
実際、私はDataAdapterまたはDataReaderを直接使用しないで、多くの時間がかかります。 DapperのようなMicro ORMを使うのが本当に好きです。また、検索された行と列の数を減らして適切な索引付けを行うことで、パフォーマンスの最適化を集中させることが最善の方法かもしれません。 – Steve