[C#] 纯文本查看 复制代码
/// <summary>
    /// SQl参数帮助类
    /// </summary>
    public static class UtilDAL
    {
        /// <summary>
        /// 获取SQl参数名
        /// </summary>
        /// <param name="name">字段名</param>
        /// <returns>不管带不带@都会自动添加并返回带@的参数</returns>
        private static string GetParameterName(string name)
        {
            if (name.StartsWith("@"))
            {
                return name;
            }
            return "@" + name;
        }
        /// <summary>
        /// 创建一个普通参数对象
        /// </summary>
        /// <param name="name">参数名,@带不带都行会自动填充</param>
        /// <param name="value">列的值</param>
        /// <returns>得到SqlParameter对象</returns>
        public static SqlParameter CreateParameter(string name, object value)
        {
            name = UtilDAL.GetParameterName(name);
            if (value == null)
            {
                return new SqlParameter(name, DBNull.Value);
            }
            return new SqlParameter(name, value);
        }
        /// <summary>
        /// 创建一个output参数对象
        /// </summary>
        /// <param name="name">参数名,@带不带都行会自动填充</param>
        /// <param name="dbType">参数的类型</param>
        /// <returns>得到SqlParameter对象</returns>
        public static SqlParameter CreateOutParameter(string name, SqlDbType dbType)
        {
            name = UtilDAL.GetParameterName(name);
            var p = new SqlParameter(name, dbType);
            p.Direction = ParameterDirection.Output;
            return p;
        }
        /// <summary>
        /// 创建一个Return参数对象,默认名称为@ret
        /// </summary>
        /// <param name="dbType">数据类型</param>
        /// <returns>得到SqlParameter对象</returns>
        public static SqlParameter CreateReturnParameter(SqlDbType dbType)
        {
            return CreateReturnParameter("@ret", dbType);
        }
        /// <summary>
        /// 创建一个Return参数对象
        /// </summary>
        /// <param name="name">参数名</param>
        /// <param name="dbType">数据类型</param>
        /// <returns>得到SqlParameter对象</returns>
        public static SqlParameter CreateReturnParameter(string name, SqlDbType dbType)
        {
            name = UtilDAL.GetParameterName(name);
            var p = new SqlParameter(name, dbType);
            p.Direction = ParameterDirection.ReturnValue;
            return p;
        }
    }