[SQLite] 一連で処理を実施する

スポンサーリンク

今回は、これまでに作成したメソッドを組み合わせて、一連で処理を実施する部分を作成します。
VB.NETはこちら
C#はこちら


VB.NET 編
トランザクションで一連処理をするメソッドとして、以下のようにExecuteメソッドを作成します。
はじめにBeginTransactionメソッドを呼びます。この中で、データベースへの接続とトランザクションを開始します。
DataProcessingメソッドは抽象メソッドとしてこの後準備します。
DataProcessingメソッドを実行してエラーが発生した場合はロールバック処理を実施します。
最後にEndTransactionメソッドを実施します。コミットとデータベース切断処理を実施します。

''' <summary>
''' データベース操作(トランザクションあり)
''' </summary>
''' <returns>成功時 True</returns>
''' <remarks></remarks>
Public Function Execute() As Boolean
    Dim result As Boolean = True

    If Not BeginTransaction() Then Return False

    Try
        'データ処理
        DataProcessing()

    Catch ex As Exception
        Rollback()
        result = False
    End Try

    If Not EndTransaction() Then result = False

    Return result
End Function

ついでなので、トランザクションのない一連処理をするメソッドを実装します。
Openメソッドでデータベースの接続処理をした後、DataProcessingメソッドを実施します。
最後に Closeメソッドで切断処理を行います。

''' <summary>
''' データベース操作(トランザクションなし)
''' </summary>
''' <returns>成功時 True</returns>
''' <remarks></remarks>
Public Function ExecuteWithoutTransaction() As Boolean
    Dim result As Boolean = True

    If Open() Then
        ' データ処理
        DataProcessing()

        result = Close()
    End If

    Return result
End Function

DataProsessingメソッドは、抽象メソッドとして以下のように準備します。

''' <summary>
''' データ操作(実際のデータ操作を継承先のクラスで実装)
''' </summary>
''' <remarks></remarks>
Protected MustOverride Sub DataProcessing()

以上で、SQLiteを使用したデータ操作をするクラスの作成は完了となります。
必要に応じて機能を追加したり、変更したりしてください。
一応基本的なことは行えるようになっています。
ご自身の責任のもとでご使用ください。

次回は、作成したクラスを実際に使用する方法について説明します。


C# 編
トランザクションで一連処理をするメソッドとして、以下のようにExecuteメソッドを作成します。
はじめにBeginTransactionメソッドを呼びます。この中で、データベースへの接続とトランザクションを開始します。
DataProcessingメソッドは抽象メソッドとしてこの後準備します。
DataProcessingメソッドを実行してエラーが発生した場合はロールバック処理を実施します。
最後にEndTransactionメソッドを実施します。コミットとデータベース切断処理を実施します。

/// <summary>
/// データベース操作(トランザクションあり)
/// </summary>
/// <returns>成功時 true</returns>
public bool Execute()
{
    bool result = true;

    // トランザクション開始
    if (!BeginTransaction())
    {
        return false;
    }

    try
    {
        // データ処理
        DataProcessing();
    }
    catch
    {
        Rollback();
        result = false;
    }

    // トランザクション終了
    if (!EndTransaction())
    {
        result = false;
    }

    return result;
}

ついでなので、トランザクションのない一連処理をするメソッドを実装します。
Openメソッドでデータベースの接続処理をした後、DataProcessingメソッドを実施します。
最後に Closeメソッドで切断処理を行います。

/// <summary>
/// データベース操作(トランザクションあり)
/// </summary>
/// <returns>成功時 true</returns>
public bool ExecuteWithoutTransaction()
{
    bool result = true;

    if ( Open() )
    { 
        // データ処理
        DataProcessing();

        result = Close();
    }

    return result;
}

DataProsessingメソッドは、抽象メソッドとして以下のように準備します。

/// <summary>
/// データ操作(実際のデータ操作を継承先のクラスで実装)
/// </summary>
protected abstract void DataProcessing();

以上で、SQLiteを使用したデータ操作をするクラスの作成は完了となります。
必要に応じて機能を追加したり、変更したりしてください。
一応基本的なことは行えるようになっています。
ご自身の責任のもとでご使用ください。

次回は、作成したクラスを実際に使用する方法について説明します。

Please follow and like us:

コメント

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