コード例 #1
0
 public void AddResultSetExtractor(string name, IResultSetExtractor resultSetExtractor)
 {
     if (Compiled)
     {
         throw new InvalidDataAccessApiUsageException("Cannot add ResultSetExtractors once operation is compiled");
     }
     resultProcessors.Add(new NamedResultSetProcessor(name, resultSetExtractor));
 }
コード例 #2
0
ファイル: DbHelper.cs プロジェクト: xiaotou745/et-eds-csharp
        private T QueryWithResultSetExtractor <T>(string connString,
                                                  CommandType commandType,
                                                  string commandText,
                                                  int timeoutInSeconds,
                                                  IDbParameters parameterValues,
                                                  int tableIndex,
                                                  IResultSetExtractor <T> resultSetExtractor)
        {
            AssertUtils.ArgumentNotNull(resultSetExtractor, "resultSetExtractor", "Result Set Extractor must not be null");

            DataSet dataset = ExecuteDataset(connString,
                                             commandType,
                                             commandText,
                                             timeoutInSeconds,
                                             parameterValues);

            return(resultSetExtractor.ExtractData(dataset, tableIndex));
        }
コード例 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="NamedResultSetProcessor"/> class with a
 /// IResultSetExtractor instance
 /// </summary>
 /// <param name="name">The name of the associated result set extractor.</param>
 /// <param name="resultSetExtractor">A IResultSetExtractor instance.</param>
 public NamedResultSetProcessor(string name, IResultSetExtractor resultSetExtractor)
 {
     this.name = name;
     resultSetProcessor = resultSetExtractor;
 }
コード例 #4
0
 /// <summary>
 /// Initializes a new instance of the class with a
 /// IResultSetExtractor instance
 /// </summary>
 /// <param name="name">The name of the associated result set extractor.</param>
 /// <param name="resultSetExtractor">A IResultSetExtractor instance.</param>
 public NamedResultSetProcessor(string name, IResultSetExtractor <T> resultSetExtractor)
 {
     this.name = name;
     this.resultSetExtractor = resultSetExtractor;
 }
コード例 #5
0
        /// <summary>
        /// Executes a query with the specified command text <paramref name="dbParameterSetter"/>, mapping a set result row to a list of object via a <paramref name="resultSetExtractor"/>
        /// </summary>
        /// <typeparam name="T">the return type</typeparam>
        /// <param name="cmdType">Text or Stored Procedure</param>
        /// <param name="cmdText">The command text (Select)</param>
        /// <param name="dbParameterSetter">The parameter setter to bind to the query</param>
        /// <param name="resultSetExtractor">Maps a set of result to list of objects</param>
        /// <returns></returns>
        public T ExecuteQuery <T>(CommandType cmdType, string cmdText, IDbParameterSetter dbParameterSetter, IResultSetExtractor <T> resultSetExtractor)
        {
            if (string.IsNullOrEmpty(cmdText))
            {
                throw new ArgumentNullException($"{nameof(cmdText)}: CommandText must be not null");
            }

            if (resultSetExtractor == null)
            {
                throw new ArgumentNullException($"{nameof(resultSetExtractor)}: {nameof(IResultSetExtractor<T>)} must not be null");
            }

            return(Execute(new QueryCallback <T>(cmdType, cmdText, dbParameterSetter, resultSetExtractor)));
        }
コード例 #6
0
 /// <summary>
 /// Executes a query with the specified command text and <paramref name="dbParameterSetter"/>, mapping a set result row to a list of object via a <paramref name="resultSetExtractor"/>
 /// </summary>
 /// <typeparam name="T">the return type</typeparam>
 /// <param name="cmdType">Text or Stored Procedure</param>
 /// <param name="cmdText">The command text (Select)</param>
 /// <param name="dbParameterSetter">The parameter setter to bind to the query</param>
 /// <param name="resultSetExtractor">Maps a set of result to list of objects</param>
 /// <returns></returns>
 public IList <T> QueryForList <T>(CommandType cmdType, string cmdText, IDbParameterSetter dbParameterSetter, IResultSetExtractor <IList <T> > resultSetExtractor)
 {
     return(ExecuteQuery(cmdType, cmdText, dbParameterSetter, resultSetExtractor));
 }
コード例 #7
0
ファイル: AdoTemplate.cs プロジェクト: Binodesk/spring-net
 public virtual object QueryWithCommandCreator(IDbCommandCreator cc, IResultSetExtractor rse)
 {
     return QueryWithCommandCreator(cc, rse, null);
 }
コード例 #8
0
ファイル: AdoTemplate.cs プロジェクト: Binodesk/spring-net
 public virtual object QueryWithResultSetExtractor(CommandType cmdType, string cmdText, IResultSetExtractor resultSetExtractor,
                                                   IDbParameters parameters)
 {
     AssertUtils.ArgumentNotNull(resultSetExtractor, "resultSetExtractor", "Result Set Extractor must not be null");
     return Execute(new QueryCallback(this, cmdType, cmdText, resultSetExtractor, parameters));
 }
コード例 #9
0
ファイル: AdoTemplate.cs プロジェクト: Binodesk/spring-net
 public virtual object QueryWithResultSetExtractor(CommandType cmdType, string cmdText, IResultSetExtractor resultSetExtractor,
                                                   string name, Enum dbType, int size, object parameterValue)
 {
     AssertUtils.ArgumentNotNull(resultSetExtractor, "resultSetExtractor", "Result Set Extractor must not be null");
     return Execute(new QueryCallback(this, cmdType, cmdText, resultSetExtractor, CreateDbParameters(name, dbType, size, parameterValue)));
 }
コード例 #10
0
ファイル: AdoTemplate.cs プロジェクト: Binodesk/spring-net
        /// <summary>
        /// Execute a query given static SQL/Stored Procedure name
        /// and process a single result set with an instance of IResultSetExtractor
        /// </summary>
        /// <param name="cmdType">The type of command.</param>
        /// <param name="sql">The SQL/Stored Procedure to execute</param>
        /// <param name="rse">Object that will extract all rows of a result set</param>
        /// <returns>An arbitrary result object, as returned by the IResultSetExtractor</returns>
        public virtual object QueryWithResultSetExtractor(CommandType cmdType, string sql, IResultSetExtractor rse)
        {
            AssertUtils.ArgumentNotNull(sql, "sql", "SQL must not be null");

            //TODO check for parameter placeholders...

            if (LOG.IsDebugEnabled)
            {
                LOG.Debug("Executing SQL [" + sql + "]");
            }

            return Execute(new QueryCallback(this, cmdType, sql, rse, null));

        }
コード例 #11
0
ファイル: AdoTemplate.cs プロジェクト: Binodesk/spring-net
 public QueryCallback(AdoTemplate adoTemplate, CommandType cmdType, string cmdText, IResultSetExtractor rse, IDbParameters dbParameters)
 {
     this.adoTemplate = adoTemplate;
     commandType = cmdType;
     commandText = cmdText;
     this.rse = rse;
     parameters = dbParameters;
 }
コード例 #12
0
ファイル: AdoTemplate.cs プロジェクト: Binodesk/spring-net
 public QueryCallbackWithCommandSetter(AdoTemplate adoTemplate, CommandType cmdType, string cmdText, IResultSetExtractor rse, ICommandSetter commandSetter)
 {
     this.adoTemplate = adoTemplate;
     commandType = cmdType;
     commandText = cmdText;
     this.rse = rse;
     this.commandSetter = commandSetter;
 }
コード例 #13
0
ファイル: AdoTemplate.cs プロジェクト: Binodesk/spring-net
 public AdoResultSetExtractorWithOutputParamsCommandCallback(AdoTemplate adoTemplate, IResultSetExtractor rse, IDictionary returnedParameters)
 {
     this.adoTemplate = adoTemplate;
     this.rse = rse;
     this.returnedParameters = returnedParameters;
 }
コード例 #14
0
ファイル: AdoTemplate.cs プロジェクト: Binodesk/spring-net
        public virtual object QueryWithCommandCreator(IDbCommandCreator cc, IResultSetExtractor rse, IDictionary returnedParameters)
        {
            if (rse == null)
            {
                throw new ArgumentNullException("Result Set Extractor must not be null");
            }

            return Execute(cc, new AdoResultSetExtractorWithOutputParamsCommandCallback(this, rse, returnedParameters));
        }