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;

    }

  • 相关阅读:
    C#获取屏幕鼠标所指点的颜色
    C#连接SQLServer数据库基本实现
    论文摘要写法
    红黑树
    递归、迭代和分治法
    逻辑右/左移与算术右/左移
    C 中数字数据类型在不同机器上所占字节数
    十进制转十六进制
    c带头结点的单链表逆置
    求一维数组长度误区
  • 原文地址:https://www.cnblogs.com/Fandyx/p/2761601.html
Copyright © 2011-2022 走看看