コード例 #1
0
        /// <summary>
        ///		Selects mutiple records based on fileter columns and their values
        /// </summary>
        /// <param name="fieldNames">
        ///		filter on filed names
        /// </param>
        /// <param name="fieldValues">
        ///		filter for field values
        /// </param>
        /// <returns>
        ///		Imodel array
        ///	</returns>
        public IModel[] SelectMultiple(string[] fieldNames, object[] fieldValues)
        {
            SqlCommand    command    = null;
            SqlDataReader dataReader = null;

            IModel[] models = null;

            command = (SqlCommand)this.CreateSelectCommandForMultipleResults(
                this.modelDataMap, fieldNames, fieldValues);

            command.Connection  = (SqlConnection)this.connection;
            command.Transaction = (SqlTransaction)this.transaction;

            try
            {
                dataReader = command.ExecuteReader();
                DataReaderConverter converter = new DataReaderConverter(this.modelType);
                models = converter.ConvertDatReaderToModels(dataReader);
            }
            catch (Exception ex)
            {
                string str = ex.Message;
            }
            finally
            {
                dataReader.Close();
            }

            return(models);
        }
コード例 #2
0
        /// <summary>
        ///		Generates select command from model and execute that stored procedure
        /// </summary>
        /// <param name="model">
        ///     Model object with value for input parameters
        /// </param>
        /// <returns>
        ///		Imodel object
        /// </returns>
        public IModel[] SelectMultipleFromProcedure(IModel model)
        {
            SqlDataReader dataReader = null;

            IModel[] models;

            // creates new as command object using stored procedure
            SqlCommand command = this.commandBuilder.GetSelectMultipleCommand(model);

            command.Transaction = (SqlTransaction)this.transaction;
            command.Connection  = (SqlConnection)this.connection;

            // executes select stored procedure
            using (dataReader = command.ExecuteReader())
            {
                try
                {
                    DataReaderConverter converter = new DataReaderConverter(this.modelType);
                    models = converter.ConvertDatReaderToModels(dataReader);
                }
                finally
                {
                    dataReader.Close();
                }
            }

            return(models);
        }
コード例 #3
0
        /// <summary>
        ///		Returns Imodel array with sorted records for given sort field
        ///		and with given filter columns and values
        /// </summary>
        /// <param name="fieldNames">
        ///		Field names to filter on
        /// </param>
        /// <param name="fieldValues">
        ///		filter for field values
        /// </param>
        /// <param name="sortField">
        ///		Sort on field name
        /// </param>
        /// <param name="ascending">
        ///		true for sort ascending
        /// </param>
        /// <returns>
        ///		sorted Imodel array
        ///	</returns>
        public IModel[] SelectSorted(
            string[] fieldNames,
            object[] fieldValues,
            string[] sortField,
            bool ascending)
        {
            SqlCommand    command    = null;
            SqlDataReader dataReader = null;

            IModel[] models = null;

            command = (SqlCommand)this.CreateSelectCommandForMultipleResultsSorted(
                this.modelDataMap, fieldNames, fieldValues, sortField, ascending);

            command.Connection  = (SqlConnection)this.connection;
            command.Transaction = (SqlTransaction)this.transaction;

            dataReader = command.ExecuteReader();
            try
            {
                DataReaderConverter converter = new DataReaderConverter(this.modelType);
                models = converter.ConvertDatReaderToModels(dataReader);
            }
            finally
            {
                dataReader.Close();
            }

            return(models);
        }