Пример #1
0
        /// <summary>
        /// 创建新的Sql IN条件语句
        /// </summary>
        /// <typeparam name="T">数据类型</typeparam>
        /// <param name="cmd">Sql语句</param>
        /// <param name="columnName">字段名</param>
        /// <param name="isNotIn">是否不在范围内</param>
        /// <param name="dataType">数据类型</param>
        /// <param name="values">数据集合</param>
        /// <returns>Sql条件语句</returns>
        internal static SqlInsideParametersCondition InternalCreate <T>(AbstractSqlCommandWithWhere cmd, String columnName, Boolean isNotIn, DataType dataType, IEnumerable <T> values)
        {
            List <DataParameter> parameters = new List <DataParameter>();

            if (values != null)
            {
                foreach (T value in values)
                {
                    parameters.Add(cmd.CreateDataParameter(columnName, dataType, value));
                }
            }

            return(new SqlInsideParametersCondition(cmd, isNotIn, parameters.ToArray()));
        }
Пример #2
0
        /// <summary>
        /// 创建新的Sql IN条件语句
        /// </summary>
        /// <param name="cmd">Sql语句</param>
        /// <param name="columnName">字段名</param>
        /// <param name="isNotIn">是否不在范围内</param>
        /// <param name="values">分隔符号分隔的数据集合</param>
        /// <param name="separator">分隔符号</param>
        /// <returns>Sql条件语句</returns>
        internal static SqlInsideParametersCondition InternalCreateWithStringList(AbstractSqlCommandWithWhere cmd, String columnName, Boolean isNotIn, String values, Char separator)
        {
            List <DataParameter> parameters = new List <DataParameter>();

            if (!String.IsNullOrEmpty(values))
            {
                String[] valuesArray = values.Split(separator);

                for (Int32 i = 0; i < valuesArray.Length; i++)
                {
                    parameters.Add(cmd.CreateDataParameter(columnName, DataType.String, valuesArray[i].Trim()));
                }
            }

            return(new SqlInsideParametersCondition(cmd, isNotIn, parameters.ToArray()));
        }
Пример #3
0
        /// <summary>
        /// 创建新的Sql IN条件语句
        /// </summary>
        /// <typeparam name="T">数据类型</typeparam>
        /// <param name="cmd">Sql语句</param>
        /// <param name="columnName">字段名</param>
        /// <param name="isNotIn">是否不在范围内</param>
        /// <param name="values">数据集合</param>
        /// <returns>Sql条件语句</returns>
        internal static SqlInsideParametersCondition InternalCreate <T>(AbstractSqlCommandWithWhere cmd, String columnName, Boolean isNotIn, IEnumerable <T> values)
        {
            List <DataParameter> parameters = new List <DataParameter>();

            if (values != null)
            {
                DataType?dataType = null;

                foreach (T value in values)
                {
                    if (!dataType.HasValue)
                    {
                        dataType = DataTypeHelper.InternalGetDataType(value);
                    }

                    parameters.Add(cmd.CreateDataParameter(columnName, dataType.Value, value));
                }
            }

            return(new SqlInsideParametersCondition(cmd, isNotIn, parameters.ToArray()));
        }
Пример #4
0
        /// <summary>
        /// 创建新的Sql IN条件语句
        /// </summary>
        /// <typeparam name="T">数据类型</typeparam>
        /// <param name="cmd">Sql语句</param>
        /// <param name="columnName">字段名</param>
        /// <param name="isNotIn">是否不在范围内</param>
        /// <param name="dataType">数据类型</param>
        /// <param name="values">分隔符号分隔的数据集合</param>
        /// <param name="separator">分隔符号</param>
        /// <returns>Sql条件语句</returns>
        internal static SqlInsideParametersCondition InternalCreate <T>(AbstractSqlCommandWithWhere cmd, String columnName, Boolean isNotIn, DataType dataType, String values, Char separator) where T : IConvertible
        {
            List <DataParameter> parameters = new List <DataParameter>();

            if (!String.IsNullOrEmpty(values))
            {
                String[] valuesArray = values.Split(separator);
                Type     t           = typeof(T);

                for (Int32 i = 0; i < valuesArray.Length; i++)
                {
                    if (String.IsNullOrEmpty(valuesArray[i]))
                    {
                        continue;
                    }

                    Object value = Convert.ChangeType(valuesArray[i].Trim(), t);
                    parameters.Add(cmd.CreateDataParameter(columnName, dataType, value));
                }
            }

            return(new SqlInsideParametersCondition(cmd, isNotIn, parameters.ToArray()));
        }
 /// <summary>
 /// 创建双参数新的Sql条件语句
 /// </summary>
 /// <param name="cmd">Sql语句</param>
 /// <param name="columnName">字段名</param>
 /// <param name="op">条件运算符</param>
 /// <param name="dataType">数据类型</param>
 /// <param name="valueOne">数据一</param>
 /// <param name="valueTwo">数据二</param>
 /// <returns>Sql条件语句</returns>
 internal static SqlBasicParameterCondition InternalCreate(AbstractSqlCommandWithWhere cmd, String columnName, SqlOperator op, DataType dataType, Object valueOne, Object valueTwo)
 {
     return new SqlBasicParameterCondition(cmd, cmd.CreateDataParameter(columnName, dataType, valueOne), cmd.CreateDataParameter(columnName, dataType, valueTwo), op);
 }
 /// <summary>
 /// 创建单参数新的Sql条件语句
 /// </summary>
 /// <param name="cmd">Sql语句</param>
 /// <param name="columnName">字段名</param>
 /// <param name="op">条件运算符</param>
 /// <returns>Sql条件语句</returns>
 internal static SqlBasicParameterCondition InternalCreate(AbstractSqlCommandWithWhere cmd, String columnName, SqlOperator op)
 {
     return new SqlBasicParameterCondition(cmd, cmd.CreateDataParameter(columnName, null), op);
 }
Пример #7
0
 /// <summary>
 /// 创建双参数新的Sql条件语句
 /// </summary>
 /// <param name="cmd">Sql语句</param>
 /// <param name="columnName">字段名</param>
 /// <param name="op">条件运算符</param>
 /// <param name="dataType">数据类型</param>
 /// <param name="valueOne">数据一</param>
 /// <param name="valueTwo">数据二</param>
 /// <returns>Sql条件语句</returns>
 internal static SqlBasicParameterCondition InternalCreate(AbstractSqlCommandWithWhere cmd, String columnName, SqlOperator op, DataType dataType, Object valueOne, Object valueTwo)
 {
     return(new SqlBasicParameterCondition(cmd, cmd.CreateDataParameter(columnName, dataType, valueOne), cmd.CreateDataParameter(columnName, dataType, valueTwo), op));
 }
Пример #8
0
 /// <summary>
 /// 创建单参数新的Sql条件语句
 /// </summary>
 /// <param name="cmd">Sql语句</param>
 /// <param name="columnName">字段名</param>
 /// <param name="op">条件运算符</param>
 /// <returns>Sql条件语句</returns>
 internal static SqlBasicParameterCondition InternalCreate(AbstractSqlCommandWithWhere cmd, String columnName, SqlOperator op)
 {
     return(new SqlBasicParameterCondition(cmd, cmd.CreateDataParameter(columnName, null), op));
 }