Ejemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ParametrizedCommandBuilder"/> class.
        /// </summary>
        /// <param name="factory">The factory.</param>
        public CommandBuilder(IDBFactory factory)
        {
            if (factory == null)
            {
                throw new ArgumentNullException("factory");
            }

            _factory            = factory;
            _convertor          = factory.Convertor;
            command             = _factory.CreateCommand();
            command.CommandType = CommandType.Text;
        }
Ejemplo n.º 2
0
        /// <summary>
        ///执行一个不需要返回值的IDbCommand命令,通过指定专用的连接字符串。
        /// 使用参数数组形式提供参数列表
        /// </summary>
        /// <remarks>
        /// 使用示例:
        ///  int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new DbParameter("@prodid", 24));
        /// </remarks>
        /// <param name="connectionString">一个有效的数据库连接字符串</param>
        /// <param name="commandType">IDbCommand命令类型 (存储过程, T-SQL语句, 等等。)</param>
        /// <param name="commandText">存储过程的名字或者 T-SQL 语句</param>
        /// <param name="commandParameters">以数组形式提供IDbCommand命令中用到的参数列表</param>
        /// <returns>返回一个数值表示此IDbCommand命令执行后影响的行数</returns>
        public int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params DbParameter[] commandParameters)
        {
            if (string.IsNullOrEmpty(connectionString))
            {
                connectionString = ConnectionStringLocalTransaction;
            }
            IDbCommand cmd = dbF.CreateCommand();

            using (IDbConnection conn = dbF.CreateConnection())
            {
                //通过PrePareCommand方法将参数逐个加入到IDbCommand的参数集合中
                PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
                int val = cmd.ExecuteNonQuery();
                //清空IDbCommand中的参数列表
                cmd.Parameters.Clear();
                conn.Close();
                return(val);
            }
        }