[SQLite] 接続文字列と Open, Close

スポンサーリンク

今回から、SQLiteの説明をします。

VB.NETはこちら

C#はこちら


「SQLiteCommonBase.vb」という名前でクラスを作成し、以降のコードを追加してください。
最終的には、実際の開発で使用できるクラスを作成します。ただし、動作に関しての保証はできかねますので、ご自身の責任の下で実施してください。

VB.NET 編

Imports System.Data
Imports System.Data.SQLite
Imports System.Diagnostics

''' <summary>
''' SQLite操作クラス
''' </summary>
''' <remarks></remarks>
Public MustInherit Class SQLiteCommonBase

End Class

SQLiteの接続文字列は、以下書式で表します。

Data Source=データベースファイルのパス

たとえば、対象のデータベースファイルが C:\Work\Test.db である場合は

Data Source = C:\Work\Test.db

とします。

まず、データベースに接続するには接続文字列を設定し、データベースを開く必要があります。
接続には、SQLiteConnectionクラスのインスタンスが必要です。
また、SQLの実行をするのに、SQLiteCommandクラスのインスタンスが必要となります。
クラスフィールドとして、以下を追記します。

VB.NET
''' <summary>
''' SQLiteコネクション
''' </summary>
''' <remarks></remarks>
Private _conn As New SQLiteConnection()

''' <summary>
''' SQLiteコマンド
''' </summary>
''' <remarks></remarks>
Private _cmd As New SQLiteCommand()

接続文字列はコンストラクタで設定します。

''' <summary>
''' コンストラクタ
''' </summary>
''' <param name="dataSource">SQLiteのデータソース</param>
''' <remarks></remarks>
Public Sub New(dataSource As String)
    '接続文字列をセット
    _conn.ConnectionString = "Data Source=" + dataSource
End Sub

接続文字列の設定ができるようになったので、実際に接続できるようにします。
接続(データベースオープン)をするには、Connectionクラスの Openメソッドを使用します。
SQLiteのOpenメソッドをラッピングした、Openメソッドを作成します。
このメソッドの中では、SQLコマンドを扱えるようにしておきます。これには、ConnectionクラスのCreateCommandメソッドを使用します。
例外処理は、必要に応じて追記して下さい。

''' <summary>
''' データベースオープン処理
''' </summary>
''' <returns>オープンに成功した場合 True</returns>
''' <remarks></remarks>
Public Function Open() As Boolean

    Try
        _cmd = _conn.CreateCommand()
        _conn.Open()

        Return True
    Catch sqlex As SQLiteException


    Catch ex As Exception


    End Try


    Return False
End Function

データベースは使い終わったら切断をする必要があります。
切断処理は SQLiteConnectionクラスの Closeメソッドを使用します。
Closeメソッドをラッピングする Closeメソッドを以下のように作成します。

''' <summary>
''' データベース切断処理
''' </summary>
''' <returns>切断成功時は True</returns>
''' <remarks></remarks>
Private Function Close() As Boolean
    Try
        If _conn.State = ConnectionState.Open Then
            _conn.Close()
        End If

        Return True
    Catch sqlex As SQLiteException
        System.Diagnostics.Debug.WriteLine(sqlex.Message)

    Catch ex As Exception
        System.Diagnostics.Debug.WriteLine(ex.Message)

    End Try

    Return False
End Function

以上で、データベースへの接続と切断ができるようになりました。
次回は、SQLを実行する処理を作成します。


C# 編
「SQLiteCommonBase.cs」という名前でクラスを作成し、以降のコードを追加してください。
最終的には、実際の開発で使用できるクラスを作成します。ただし、動作に関しての保証はできかねますので、ご自身の責任の下で実施してください。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Data;
using System.Data.SQLite;
using System.Data.SQLite.Linq;

/// <summary>
/// SQLite操作クラス
/// </summary>
public abstract class SQLiteCommonBase
{


}

SQLiteの接続文字列は、以下書式で表します。

Data Source=データベースファイルのパス

たとえば、対象のデータベースファイルが C:\Work\Test.db である場合は

Data Source = C:\Work\Test.db

とします。

まず、データベースに接続するには接続文字列を設定し、データベースを開く必要があります。
接続には、SQLiteConnectionクラスのインスタンスが必要です。
また、SQLの実行をするのに、SQLiteCommandクラスのインスタンスが必要となります。
クラスフィールドとして、以下を追記します。

/// <summary>
/// SQLiteコネクション
/// </summary>
private SQLiteConnection _conn = new SQLiteConnection();

/// <summary>
/// SQLiteコマンド
/// </summary>
private SQLiteCommand _cmd = new SQLiteCommand();

接続文字列はコンストラクタで設定します。

/// <summary>
/// コンストラクタ
/// </summary>
/// <param name="dataSource">SQLiteのデータソース</param>
public SQLiteCommonBase(string dataSource)
{
    // 接続文字列をセット
    _conn.ConnectionString = "Data Source=" + dataSource;
}

接続文字列の設定ができるようになったので、実際に接続できるようにします。
接続(データベースオープン)をするには、Connectionクラスの Openメソッドを使用します。
SQLiteのOpenメソッドをラッピングした、Openメソッドを作成します。
このメソッドの中では、SQLコマンドを扱えるようにしておきます。これには、ConnectionクラスのCreateCommandメソッドを使用します。
例外処理は、必要に応じて追記して下さい。

/// <summary>
/// データベースオープン処理
/// </summary>
/// <returns>オープンに成功した場合 true</returns>
private bool Open()
{
    try
    {
        _cmd = _conn.CreateCommand();
        _conn.Open();

        return true;
    }
    catch (SQLiteException sqlex)
    {

    }
    catch (Exception ex)
    {

    }

    return false;
}

データベースは使い終わったら切断をする必要があります。
切断処理は SQLiteConnectionクラスの Closeメソッドを使用します。
Closeメソッドをラッピングする Closeメソッドを以下のように作成します。

/// <summary>
/// データベース切断処理
/// </summary>
/// <returns>切断成功時は true</returns>
private bool Close()
{
    try
    {
        if (_conn.State == System.Data.ConnectionState.Open)
        {
            // 切断処理
            _conn.Close();
        }                

        return true;
    }
    catch (SQLiteException sqlex)
    {
        System.Diagnostics.Debug.WriteLine(sqlex.Message);
    }
    catch (Exception ex)
    {
        System.Diagnostics.Debug.WriteLine(ex.Message);
    }

    return false;
}

以上で、データベースへの接続と切断ができるようになりました。
次回は、SQLを実行する処理を作成します。

Please follow and like us:

コメント

タイトルとURLをコピーしました