WPF開発ノウハウ集

データベースと接続/切断する

sqlite3 の場合

DbConnection conn = DbProviderFactories.GetFactory( "System.Data.SQLite" ).CreateConnection();
conn.ConnectionString = new SQLiteConnectionStringBuilder() 
{
	DataSource = "<sqliteのdbファイルの生成パスを記述>",
	SyncMode = SynchronizationModes.Off,
	JournalMode = SQLiteJournalModeEnum.Wal,
	BusyTimeout = 3000
}
.ToString();
conn.Open();

sqlite3のデータベースを暗号化する場合

パスワードの設定は DbConnectin でなく SQLiteConnection を使って行う

SQLiteConnection conn = new SQLiteConnection();

conn.ConnectionString = new SQLiteConnectionStringBuilder() 
{
	DataSource = "<sqliteのdbファイルの生成パスを記述>",
	Password = "<パスワード>",
	SyncMode = SynchronizationModes.Off,
	JournalMode = SQLiteJournalModeEnum.Wal,
	BusyTimeout = 3000
}
.ToString();
conn.Open();

conn.ChangePassword( "<パスワード>" );

DbConnectionUtils.closeConnection( conn );

mariadb の場合

DbConnection conn = DbProviderFactories.GetFactory( "System.Data.SQLite" ).CreateConnection();
conn.ConnectionString = new StringBuilder()
	.Append( "Server=" ).Append( <hostアドレス> ).Append( ";" )
	.Append( "Port=" ).Append( <port番号> ).Append( ";" )
	.Append( "Database=" ).Append( <db名> ).Append( ";" )
	.Append( "userid=" ).Append( <user> ).Append( ";" )
	.Append( "password=" ).Append( <password> ).Append( ";" )
	.ToString();
conn.Open();

切断

conn.Close();