/// <summary> /// Creates an instance of CommandExecutedEventArgs class. /// </summary> /// <param name="dataReader"></param> /// <param name="commandText">The CommandText of the <see cref="FbCommand"/> that was executed.</param> /// <param name="rowsAffected"></param> public CommandExecutedEventArgs( FbDataReader dataReader, string commandText, int rowsAffected) { this.dataReader = dataReader; this.commandText = commandText; this.rowsAffected = rowsAffected; }
private bool IsReadOnly(FbDataReader r) { /* [0] = COMPUTED_BLR * [1] = COMPUTED_SOURCE */ if (!r.IsDBNull(0) || !r.IsDBNull(1)) { return true; } return false; }
internal void CloseReader() { if (this.activeReader != null) { this.activeReader.Close(); this.activeReader = null; } }
/// <include file='Doc/en_EN/FbCommand.xml' path='doc/class[@name="FbCommand"]/method[@name="ExecuteReader(System.Data.CommandBehavior)"]/*'/> public FbDataReader ExecuteReader(CommandBehavior behavior) { lock (this) { this.CheckCommand(); try { this.ExecuteCommand(behavior, true); } catch (IscException ex) { this.DiscardImplicitTransaction(); throw new FbException(ex.Message, ex); } catch { this.DiscardImplicitTransaction(); throw; } } this.activeReader = new FbDataReader(this, this.connection, behavior); return this.activeReader; }
/// <summary> /// The trigger function for <see cref="CommandExecuted"/> event. /// </summary> /// <param name="commandText">The <see cref="FbCommand.CommandText"/> of the executed SQL command.</param> /// <param name="dataReader">The <see cref="FbDataReader"/> instance with the returned data. If the /// command executed is not meant to return data (ex: UPDATE, INSERT...) this parameter must be /// setled to <b>null</b>.</param> /// <param name="rowsAffected">The rows that were affected by the executed SQL command. If the executed /// command is not meant to return this kind of information (ex: SELECT) this parameter must /// be setled to <b>-1</b>.</param> protected virtual void OnCommandExecuted(string commandText, FbDataReader dataReader, int rowsAffected) { if (CommandExecuted != null) { CommandExecutedEventArgs e = new CommandExecutedEventArgs(dataReader, commandText, rowsAffected); CommandExecuted(this, e); } }