私はcsharp-sqliteライブラリを使用しています。
コード:
var conn = new SQLite.SQLiteConnection(DatabasePath);
conn.Execute("insert or replace into Option(Key, Value) values ('A', '1')");
conn.Execute("insert or replace into Option(Key, Value) values ('B', '2')");
期待どおりに動作します。ただし、BeginTransaction()とCommitを使用すると、2番目のExcuteで例外が発生します: "CannotOpen"、ネイティブはSQLITE_CANTOPEN(エラー14)です。
コードは次のようになります。
var conn = new SQLite.SQLiteConnection(DatabasePath);
try
{
conn.BeginTransaction();
conn.Execute("insert or replace into Option(Key, Value) values ('A', '1')");
conn.Execute("insert or replace into Option(Key, Value) values ('B', '2')");
conn.Commit();
}
catch (SQLiteException ex)
{
_conn.Rollback();
}
私は何が間違っているのですか?
ありがとうございました