public SqliteReader Read(string sql) { ThrowIfClosed(); var result = _sqlite3.PrepareV2( _database, sql, -1, out var statement, IntPtr.Zero); try { _sqlite3.ThrowOnError(_database, result); } catch { if (statement.IsValid()) { _sqlite3.Finalize(statement); } throw; } return(new SqliteReader(_sqlite3, _database, statement, true)); }
public SqliteStatement(ISqlite3 sqlite3, IntPtr database, string sql) { _database = database; _sqlite3 = sqlite3; Sql = sql; var result = _sqlite3.PrepareV2( _database, sql, -1, out _statement, IntPtr.Zero); try { ThrowOnError(result); } catch { if (_statement.IsValid()) { _sqlite3.Finalize(_statement); } throw; } }
public void Dispose() { var result = _ownsStatement ? _sqlite3.Finalize(_statement) : _sqlite3.Reset(_statement); _sqlite3.ThrowOnError(_database, result); }
public void Dispose() { _sqlite3.Finalize(_statement); _statement = IntPtr.Zero; }