zoukankan      html  css  js  c++  java
  • 如何获得活动的数据

    17.3.3 通过TQuery部件如何获得活动的数据

     

    我们在前面的章节里介绍TTable部件时,我们知道通过TTable部件从数据库中获得的数据都是活动的,也就是说用户可以直接通过数据浏览部件对这些数据进行编辑修改。而通过TQuery部件可以获得两种类型的数据:

    ● “活动”的数据

    这种数据就跟通过TTable部件获得的数据一样,用户可以通过数据浏览部件来编 辑修改这些数据,并且当调用Post方法或当焦点离开当前的数据浏览部件时,用户对数据的修改自动地被写回到数据库中,详细情况请参看第四章“数据浏览部件的应用及编程”。

    ● 非活动的数据(只读数据)

    用户通过数据浏览部件是不能修改其中的数据。在缺省情况下,通过TQuery部件 获得的查询结果数据是只读数据,要想获得“活动”的数据,在应用程序中必须要设置TQuery部件的RequestLive属性值为True,然而并不是在任何情况下(通过设置RequestLive的属值True)都可以获得“活动”的数据的,要想获得“活动”的数据,除了将TQuery部件的RequestLive属性为True外,BDE要能够返回“活动”的数据,相应的SQL命令语句还要满足附录C中的语法规则和下列的约束条件:

    TQuery部件获得“活动”的查询结果数据的约束条件:

     

    当查询Paradox或dBASE数据库中的表:

    ● 查询只能涉及到一个单独的表

    ● SQL语句中不能包含ORDER BY命令

    ● SQL语句中不能含聚集运算符SUM或AVG

    ● 在Select后的字段列表中不能有计算字段

    ● 在Select语句WHERE部分只能包含字段值与常量的比较运算,这些比较运算符是: Like,>,<,>=,<=,各比较运算之间可以有并和交运算:AND和OR。

     

    当通过SQL语句查询数据库服务器中的数据库表:

    ● 查询只能涉及到一个单独的表

    ● SQL语句中不能包含ORDER BY命令

    ● SQL语句中不能含聚集运算符SUM或AVG运算

     

    另外,如果是查询Sybase数据库中的表,那么被查询的表中只能有一个索引。

    如果在应用程序中要求TQuery部件返回一个“活动”的查询结果数据集,但是SQL 命令语句不满足上述约束条件时,对于本地数据库的SQL查询,BDE只能返回只读的数据集。对于数据库服务器中的SQL查询,只能返回错误的代码。当TQuery 部件返回一个“活动”的查询结果数据集时,它的CanModify属性的值会被设置成True。

  • 相关阅读:
    银联acp手机支付总结
    fastjson过滤多余字段
    fastjson的SerializerFeature序列化属性
    java加密方式
    Java 8实现BASE64编解码
    mysql分库分表总结
    Rest使用get还是post
    tomcat结合nginx
    java网站架构设计
    Itext中 根据html生成Word文件,包含图片
  • 原文地址:https://www.cnblogs.com/k1727/p/2143847.html
Copyright © 2011-2022 走看看