private SqliteDatabase(ISqlite3 sqlite3, string path, SqliteOpen flags) { _sqlite3 = sqlite3; var result = _sqlite3.OpenV2(path, out _database, (int)flags, null); if (result != SqliteResult.Ok) { var message = $"Unable to open " + path + "."; if (_database.IsValid()) { var errorMessage = _sqlite3.Errmsg(_database); _sqlite3.Close(_database); } throw new SqliteException(message, sqlite3.GetError(result)); } Path = path; }
public void Dispose() { var result = _sqlite3.Close(_database); _database = IntPtr.Zero; }