zoukankan      html  css  js  c++  java
  • QueryBuildRange的空值使用

    不过为了系统将来的扩展性最好使用SysQuery::valueEmptyString();以免将来空值的含义发生变化。
    SysQuery::valueEmptyString();这个方法的注释也说明了把空置封装成方法的原因是为了将来的兼容性。

    用QueryBuildRange的value属性时,如果value的值是‘’,则查询会忽略该Range,好像没有这个Range一样,比如如下语句:

    用这种方式也可以达到一样的效果

    static void EmptyTest()
    {
        Query q;
        QueryRun qr;

        CustTable cust;
        ;
        q 
    = new Query();
        q.addDataSource(tableNum(custtable)).addRange(fieldnum(custtable,accountnum)).value(
    '');
        qr 
    = new QueryRun(q);
        
    while(qr.next())
        
    {
            cust 
    = qr.get(tablenum(custtable));
            box::info(cust.Address);
        }

        pause;

    }

    如果想查询某个字段的值为‘’值的该怎么处理那?这就需要用到SysQuery::valueEmptyString();如下所示:

    static void EmptyTest()
    {
        Query q;
        QueryRun qr;

        CustTable cust;
        ;
        q 
    = new Query();
        q.addDataSource(tableNum(custtable)).addRange(fieldnum(custtable,accountnum)).value(SysQuery::valueEmptyString());
        qr 
    = new QueryRun(q);
        
    while(qr.next())
        
    {
            cust 
    = qr.get(tablenum(custtable));
            box::info(cust.Address);
        }

        pause;

    }

    static void EmptyTest()
    {
        Query q;
        QueryRun qr;

        CustTable cust;
        ;
        q 
    = new Query();
        q.addDataSource(tableNum(custtable)).addRange(fieldnum(custtable,accountnum)).value(queryvalue(''));
        qr 
    = new QueryRun(q);
        
    while(qr.next())
        
    {
            cust 
    = qr.get(tablenum(custtable));
            box::info(cust.Address);
        }

        pause;

    }

    直接使用转义字符也可以,如:

    static void EmptyTest()
    {
        Query q;
        QueryRun qr;

        CustTable cust;
        ;
        q 
    = new Query();
        q.addDataSource(tableNum(custtable)).addRange(fieldnum(custtable,accountnum)).value("/'/'");
        qr 
    = new QueryRun(q);
        
    while(qr.next())
        
    {
            cust 
    = qr.get(tablenum(custtable));
            box::info(cust.Address);
        }

        pause;

    }

  • 相关阅读:
    【转】读《冰鉴》有感:职场生存术——企业观人十一招
    [转]msn主要端口问题
    关于linux下的openmp编程基础[转]
    C#运用正则表达式智能获取html模版页中模版信息的应用
    获取当前程序文件的路径
    ASP对UTF8编码支持有问题
    论.NET反射、委托技术与设计模式关系
    序列化与反序列化
    利用反射将数据读入实体类
    随心所欲操作Enum枚举类型
  • 原文地址:https://www.cnblogs.com/Fandyx/p/2761601.html
Copyright © 2011-2022 走看看