今回から、SQLiteの説明をします。
「SQLiteCommonBase.vb」という名前でクラスを作成し、以降のコードを追加してください。
最終的には、実際の開発で使用できるクラスを作成します。ただし、動作に関しての保証はできかねますので、ご自身の責任の下で実施してください。
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を実行する処理を作成します。
コメント