/// <summary> /// Creates an instance of a result resource. /// </summary> /// <param name="connection">Database connection.</param> /// <param name="reader">Data reader from which to load results.</param> /// <param name="name">Resource name.</param> /// <param name="convertTypes">Whether to convert resulting values to PHP types.</param> /// <exception cref="ArgumentNullException">Argument is a <B>null</B> reference.</exception> protected ResultResource(ConnectionResource /*!*/ connection, IDataReader /*!*/ reader, string /*!*/ name, bool convertTypes) : base(name) { Reader = reader ?? throw new ArgumentNullException(nameof(reader)); Connection = connection ?? throw new ArgumentNullException(nameof(connection)); LoadData(convertTypes); }
/// <summary> /// Creates an instance of a result resource. /// </summary> /// <param name="connection">Database connection.</param> /// <param name="reader">Data reader from which to load results.</param> /// <param name="name">Resource name.</param> /// <param name="convertTypes">Whether to convert resulting values to PHP types.</param> /// <exception cref="ArgumentNullException">Argument is a <B>null</B> reference.</exception> protected ResultResource(ConnectionResource /*!*/ connection, IDataReader /*!*/ reader, string /*!*/ name, bool convertTypes) : base(name) { this.reader = reader ?? throw new ArgumentNullException("reader"); this.connection = connection ?? throw new ArgumentNullException("connection"); LoadData(convertTypes); }
/// <summary> /// Creates an instance of parameterized statement. /// </summary> /// <param name="resourceName">Name of the resource.</param> /// <param name="connection">Database connection resource.</param> public StatementResource(string /*!*/ resourceName, ConnectionResource /*!*/ connection) : base(resourceName) { if (connection == null) { throw new ArgumentNullException("connection"); } this.connection = connection; }
/// <summary> /// Gets a query result resource. /// </summary> /// <param name="connection">Database connection.</param> /// <param name="reader">Data reader to be used for result resource population.</param> /// <param name="convertTypes">Whether to convert data types to PHP ones.</param> /// <returns>Result resource holding all resulting data of the query.</returns> protected abstract ResultResource GetResult(ConnectionResource /*!*/ connection, IDataReader /*!*/ reader, bool convertTypes);
internal void ReleaseConnection() { this.connection = null; }