Exemplo n.º 1
0
        private DMEDb_OQL2 IN(object field, DMEDb_OQL q,bool isIn)
        {
            string inString = isIn ? " IN " : " NOT IN ";
            if (q.sql_fields.IndexOf(',') > 0)
                throw new Exception("OQL 语法错误,包含在In查询中的子查询只能使用1个实体属性,请修改子查询的Select参数。");
            string childSql = q.ToString().Replace("@P","@INP");
            _conditionString += " AND " + currFieldName + inString + "  (\r\n" + childSql + ")";

            foreach (string key in q.Parameters.Keys)
                this.paras.Add("IN"+key , q.Parameters[key]);

            return this;
        }