今回から、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を実行する処理を作成します。
コメント