/// <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); }
/// <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); }
/// <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(""); }