示例#1
0
        /// <summary>
        /// 创建 SQL 执行命令
        /// </summary>
        /// <returns>The sql command.</returns>
        /// <param name="builder">Builder.</param>
        protected DbCommand CreateSqlCommand(CommandBuilder builder)
        {
            DbCommand command = connection.CreateCommand();

            command.CommandText    = builder.ToString();
            command.Transaction    = this.transaction;
            command.CommandTimeout = this.CommandTimeout;

            this.PrepareParameter(command, builder.Parameters);

            return(command);
        }
示例#2
0
        /// <summary>
        /// 执行带参数的非查询 SQL 语句,返回受影响的行数
        /// </summary>
        /// <param name="sql">SQL 命令</param>
        /// <returns>受影响的行数</returns>
        /// <param name="parameters">Parameters.</param>
        public virtual int ExecuteNonQuery(CommandBuilder builder)
        {
            using (DbCommand command = connection.CreateCommand())
            {
                command.CommandText = builder.ToString();
                command.Transaction = this.transaction;

                this.PrepareParameter(command, builder.Parameters);

                return(command.ExecuteNonQuery());
            }
        }
示例#3
0
        /// <summary>
        /// 执行带参数的 SQL 语句,返回查询结果中的第一行第一列的值
        /// </summary>
        /// <param name="cmd">SQL 命令</param>
        /// <returns>查询结果中的第一行第一列的值</returns>
        /// <typeparam name="T">返回类型</typeparam>
        public virtual T ExecuteScalar <T>(CommandBuilder builder)
        {
            using (DbCommand command = connection.CreateCommand())
            {
                command.CommandText = builder.ToString();
                command.Transaction = this.transaction;

                this.PrepareParameter(command, builder.Parameters);

                return(command.ExecuteScalar().Cast <T>());
            }
        }
示例#4
0
        /// <summary>
        /// 执行带参数 SQL 语句,返回一个 DataTable 对象
        /// </summary>
        /// <param name="cmd">SQL 命令</param>
        /// <returns>DataSet 对象</returns>
        public virtual DataSet ExecuteDataSet(CommandBuilder builder)
        {
            using (DbCommand command = connection.CreateCommand())
            {
                command.CommandText = builder.ToString();
                command.Transaction = this.transaction;

                this.PrepareParameter(command, builder.Parameters);

                using (DbDataAdapter adapter = this.factory.CreateDataAdapter())
                {
                    adapter.SelectCommand = command;

                    DataSet ds = new DataSet("DataSet1");

                    adapter.Fill(ds);

                    return(ds);
                }
            }
        }