Visual Studio 2017에서 SQLite를 사용한 Windows Forms 앱 개발

Visual Studio 2017에서 SQLite를 사용하여 Windows Forms 앱을 개발해 보았습니다.
아직 서버 탐색기나 TableAdaptor를 사용한 GUI에서의 개발에는 대응하지 않는 것 같습니다.
이번에는 DataAdapter를 사용한 개발 방법입니다.

환경



Windows 7 Professional SP1 64bit
Visual Studio 2017 커뮤니티
※사전에 SQLite의 인스톨은 하고 있지 않습니다.

프로젝트 만들기



새 프로젝트에서 Visual Basic, Windows 클래식 데스크톱에서 Windows Forms 응용 프로그램을 선택합니다. (.NET Framework 4.6.1)



System.Date.SQLite 패키지 설치



솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 NuGet 패키지 관리...를 선택합니다.



다음과 같이 나타나면 왼쪽 상단의 찾아보기를 선택하고 검색 영역에 sqlite를 입력합니다.
맨 위에 "System.Date.SQLite"가 표시되면 선택하고 설치 버튼을 누릅니다.



대화 상자가 표시되면 OK 버튼을 누릅니다.



System.Date.SQLite가 설치됩니다.

양식 디자인



폼에 버튼 2개와 데이터 그리드(DataGridView)를 배치합니다.



데이터베이스 작성 버튼을 누르면 데이터베이스(sample.db 파일)가 작성되어 Sample 테이블이 작성되도록 합니다.
검색 버튼을 누르면 샘플 테이블을 검색하여 결과를 데이터 그리드에 표시합니다.

소스 코드



데이터베이스를 작성하고 샘플 테이블을 검색하는 프로그램을 작성하십시오.

Form1.vb
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

애플리케이션 실행



애플리케이션을 실행하고 데이터베이스 작성 버튼을 누른 후 검색 버튼을 누르면 샘플 테이블의 검색 결과가 표시됩니다.

좋은 웹페이지 즐겨찾기