예제 #1
0
        public string ToCompareNumberExp(ITerminalNode property, ITerminalNode op, ITerminalNode number)
        {
            var propertyString = property.ToString();

            if (SqlSchemaColumns.Contains(propertyString))
            {
                var valueParam = CreateSqlParameter(number, SqlDbType.Int);
                return($"({property.ToString()} {op} @{valueParam})");
            }
            else
            {
                queryContainsProperty = true;
                throw new NotImplementedException();
            }
        }
예제 #2
0
        public string ToCompareStringExp(ITerminalNode property, ITerminalNode op, ITerminalNode escapedString)
        {
            var propertyString = property.ToString();
            var valueParam     = CreateSqlParameter(escapedString);

            if (SqlSchemaColumns.Contains(propertyString))
            {
                return($"({property.ToString()} {op} @{valueParam})");
            }
            else
            {
                queryContainsProperty = true;
                throw new NotImplementedException();

                // TODO: SqlParameter, Different Operators
                var propParam = CreateSqlParameter(property);
                return($"(X.exist('//*[@key=\"@{propParam}\" and contains(.,\"@{valueParam}\")]') = 1)");
            }
        }