Visual Studio 2017でSQLiteを使ったWindowsフォームアプリを開発してみました。
まだサーバーエクスプローラーやTableAdaptorを使ったGUIでの開発には対応していないようです。
今回はDataAdapterを使った開発方法になります。
#環境
Windows 7 Professional SP1 64bit
Visual Studio 2017 Community
※事前にSQLiteのインストールはしていません。
#プロジェクト作成
新しいプロジェクトから「Visual Basic」、「Windowsクラシックデスクトップ」の「Windowsフォームアプリケーション」を選択します。(.NET Framework 4.6.1)
#System.Date.SQLiteパッケージインストール
ソリューションエクスプローラーからプロジェクトを右クリックして「NuGet パッケージの管理...」を選択します。
次のように表示されたら左上の「参照」を選択して検索エリアに「sqlite」と入力します。
一番上に「System.Date.SQLite」が表示されたら選択してインストールボタンを押します。
ダイアログが表示されたらOKボタンを押します。
System.Date.SQLiteがインストールされます。
#フォームデザイン
フォームにボタン2つとデータグリッド(DataGridView)を配置します。
データベース作成ボタンを押すとデータベース(sample.dbファイル)が作成され、Sampleテーブルが作成されるようにします。
検索ボタンを押すとSampleテーブルを検索して結果をデータグリッドに表示します。
#ソースコード
データベースを作成してSampleテーブルを検索するプログラムを作成します。
Imports System.Data.SQLite
Public Class Form1
''' <summary>
''' データベース作成ボタンクリック
''' </summary>
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
Using con As New SQLiteConnection("Data Source=sample.db")
con.Open()
Using cmd As SQLiteCommand = con.CreateCommand()
cmd.CommandText = "CREATE TABLE Sample (ID INTEGER PRIMARY KEY, Name NVARCHAR(128), Age INTEGER)"
cmd.ExecuteNonQuery()
cmd.CommandText = "INSERT INTO Sample (Name, Age) VALUES('一郎', 10)"
cmd.ExecuteNonQuery()
cmd.CommandText = "INSERT INTO Sample (Name, Age) VALUES('二郎', 20)"
cmd.ExecuteNonQuery()
cmd.CommandText = "INSERT INTO Sample (Name, Age) VALUES('三郎', 30)"
cmd.ExecuteNonQuery()
End Using
End Using
MessageBox.Show("Sampleデータベース作成成功", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show("Sampleデータベース作成失敗" + Environment.NewLine + ex.Message, Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
''' <summary>
''' 検索ボタンクリック
''' </summary>
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Using con As New SQLiteConnection("Data Source=sample.db")
Dim ds As New DataSet
Dim da As New SQLiteDataAdapter("SELECT * FROM Sample", con)
da.Fill(ds, "Sample")
Me.DataGridView1.DataSource = ds.Tables("Sample")
End Using
End Sub
End Class
#アプリケーション実行
アプリケーションを実行してデータベース作成ボタンを押してから検索ボタンを押すとSampleテーブルの検索結果が表示されます。