Esempio n. 1
0
        public static IParamBuilder CreateLikeSql(TkDbContext context, IFieldInfo fieldName,
                                                  string likeValue, string exceptValue)
        {
            CodeLikeParamBuilder builder = new CodeLikeParamBuilder();

            return(builder.InternalCreateLikeSql(context, fieldName, likeValue, exceptValue));
        }
Esempio n. 2
0
        private IParamBuilder GetQueryParamBuilder(TkDbContext context, IFieldInfo fieldName,
                                                   string fieldValue)
        {
            int len = Math.Min(fieldValue.Length, fTreeDef.TotalCount);

            if (len == fTreeDef.TotalCount)
            {
                return(SqlParamBuilder.CreateEqualSql(context, fieldName, fieldValue));
            }
            if (len == 0)
            {
                return(SqlParamBuilder.CreateSingleSql(context, fieldName,
                                                       "LIKE", fLevelProvider.GetSqlLikeValue(fTreeDef, 0, fieldValue)));
            }
            else
            {
                int    level       = fTreeDef.GetLevel(fieldValue);
                string likeValue   = fLevelProvider.GetSqlLikeValue(fTreeDef, level + 1, fieldValue);
                string exceptValue = fLevelProvider.GetSqlExceptValue(fTreeDef, level + 1, fieldValue);
                return(CodeLikeParamBuilder.CreateLikeSql(context, fieldName, likeValue, exceptValue));
            }
        }