/// <summary> /// Execute a Reader Query /// </summary> /// <param name="connection">Connection to invoke on</param> /// <param name="query">Query to execute</param> /// <param name="handler">Handler to invoke for each record</param> private void _ExecuteReader(DbConnection connection, String query, DbRecordHandler handler, params object[] parameters) { try { queryWatch.Start(); using (var command = CreateCommand(connection, query, parameters)) { using (var reader = command.ExecuteReader()) { while (reader.Read()) { try { handler(reader); } catch (Exception ex) { Log.Error("Error handling row in reader from DatabaseHelper: {0}", ex); } } } } } finally { queryWatch.Stop(); } }
/// <summary> /// Execute a Reader Query /// </summary> /// <param name="connection">Connection to invoke on</param> /// <param name="query">Query to execute</param> /// <param name="handler">Handler to invoke for each record</param> internal void ExecuteReader(String query, DbRecordHandler handler, params object[] parameters) { var connection = Connection; InitConnection(connection); _ExecuteReader(connection, query, handler, parameters); Finish <object>(null, connection); }