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;

    }

  • 相关阅读:
    [moka同学笔记]一、Yii2.0课程笔记(魏曦老师教程)
    [moka同学笔记]yii2.0导航栏
    [moka同学笔记]Yii2.0 dropDownList的使用(二)
    [moka同学笔记]Yii2.0验证码
    [moka同学摘录]Yii2 csv数据导出扩展
    [moka同学笔记]PHPexcel之excel导出和导入
    [moka同学代码]PHP初级知识:上传文件源码
    [moka同学摘录]在Centos 6.5下成功安装和配置了vim7.4
    [moka同学摘录]iptables防火墙规则的添加、删除、修改、保存
    [moka同学笔记]linux服务器防火墙的设置
  • 原文地址:https://www.cnblogs.com/Fandyx/p/2761601.html
Copyright © 2011-2022 走看看