/// <summary>
        /// 转换一个Like运算
        /// </summary>
        /// <param name="FiledMapping"></param>
        /// <param name="value"></param>
        /// <param name="Paras"></param>
        /// <returns></returns>
        protected virtual string ConvertLikeToSQL(IFieldMapping FiledMapping, object value, IDataParameters Paras)
        {
            string ColName       = FiledMapping.ColumnName;                                         //数据库列名
            string ParameterName = Paras.AdaptParameterName(ColName);                               //参数名称
            string Sentence      = m_DBAdapter.AdaptColumnName(ColName) + " LIKE " + ParameterName; //Like SQL子句

            Paras.AddParameterValue(ParameterName, value, InnerFieldTypeConvert.ConvertToDbType(FiledMapping.FieldType));
            return(Sentence);
        }
Example #2
0
        /// <summary>
        /// 转换一个小于等于运算
        /// </summary>
        /// <param name="FiledMapping"></param>
        /// <param name="value"></param>
        /// <param name="Paras"></param>
        /// <returns></returns>
        protected override string ConvertLtAndEqToSQL(IFieldMapping FiledMapping, object value, IDataParameters Paras)
        {
            string ColName       = FiledMapping.ColumnName;                                     //数据库列名
            string ParameterName = m_DBAdapter.AdaptParameterName(ColName);                     //参数名称
            string Sentence      = m_DBAdapter.AdaptColumnName(ColName) + "<=" + ParameterName; //小于等于SQL子句

            Paras.AddParameterValue(ColName, value, InnerFieldTypeConvert.ConvertToDbType(FiledMapping.FieldType));
            return(Sentence);
        }
        /// <summary>
        /// 转换一个Between运算
        /// </summary>
        /// <param name="FiledMapping"></param>
        /// <param name="value1"></param>
        /// <param name="value2"></param>
        /// <param name="Paras"></param>
        /// <returns></returns>
        protected virtual string ConvertBetweenToSQL(IFieldMapping FiledMapping, object value1, object value2, IDataParameters Paras)
        {
            string ColName        = FiledMapping.ColumnName;                                                                        //数据库列名
            string ParameterName1 = Paras.AdaptParameterName(ColName + "_1");                                                       //参数1名称
            string ParameterName2 = Paras.AdaptParameterName(ColName + "_2");                                                       //参数2名称
            string Sentence       = m_DBAdapter.AdaptColumnName(ColName) + " Between " + ParameterName1 + " AND " + ParameterName2; //Like SQL子句

            Paras.AddParameterValue(ParameterName1, value1, InnerFieldTypeConvert.ConvertToDbType(FiledMapping.FieldType));
            Paras.AddParameterValue(ParameterName2, value2, InnerFieldTypeConvert.ConvertToDbType(FiledMapping.FieldType));
            return(Sentence);
        }
Example #4
0
        /// <summary>
        /// 创建插入SQL
        /// </summary>
        /// <returns></returns>
        public virtual string CreateInsertSQL(out IDataParameter[] Paras)
        {
            Paras = null;
            AbstractEntity Entity = m_Entity as AbstractEntity;

            if (Entity.ChangedProperties.Count > 0)
            {
                IDataParameters paras   = CreateDataParameters(m_DBAdapter);
                ArrayList       Columns = new ArrayList();
                foreach (string Property in Entity.ChangedProperties.Keys)
                {
                    IFieldMapping FiledMapping  = m_Mapping.GetFieldMapping(Property);
                    object        PropertyValue = Entity.ChangedProperties[Property];
                    //填充参数
                    paras.AddParameterValue(FiledMapping.ColumnName, PropertyValue, InnerFieldTypeConvert.ConvertToDbType(FiledMapping.FieldType));
                    Columns.Add(FiledMapping.ColumnName);
                }
                Paras = paras.Parameters;
                string InsertSQL = GeneratInsertSql(AdaptedTableName, Columns.ToArray(typeof(string)) as String[]);
                return(InsertSQL);
            }
            return("");
        }