前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于PowerBuilder的搜索

IT 数据库 数据库教程 数据缓冲区_数据库教程_数据库_远播教育网|中国电信教育百事通 我的远播 我的订单 我的积分 我的抵用券 我的收藏 积分兑换 课程需求登记 远播教育 首页 青少儿 少儿英语 少儿才艺 小学教育 中学教育 早教 机器人培训 夏令营 外语 英语 日语 小语种 职业技能 国际学校 学历/研修 网络学院 自学考试 在职研究生 MBA/EMBA 学车 活动专区 名校直达:三才培训丁盛人才海悉教育水晶石海同科技英豪教育易达教育新东方英语师资培训 同步辅导 您现在的位置:首页 >> IT技能 >> 数据库频道 >> 数据库资料列表 >> 数据库教程 >> PowerBuilder中数据窗口的数据缓冲区 PowerBuilder中数据窗口的数据缓冲区 发表时间:2009-08-28 编辑:Jakie 来源: 网络 编者按:PowerBuilder中数据窗口的数据缓冲区应用广泛,本文简述了pb中数据缓冲区的原理、状态 在PowerBuilder中,DataWindow是用户前端用来存储、操纵数据的对象。在每一个DataWindow对象中有4个二维表作为数据缓冲区,用来存储查询到的数据。用户在DataWindow中对数据处理系统内部的操作实际上都是将数据在这几个缓冲区中进行的修改和移动,最后在用户提交数据库时,系统根据这四个缓冲区中的信息形成SQL的IN-SERT,UPDATE,DELETE等语句。这四个缓冲区是:   1、Primary Buffer   这个缓冲区是存放填充窗口中DataWindow控件中数据的,调用DataWindow的Retrieve()函数和InsertRow()函数可以将数据填入这个缓冲区中。当使用有关DataWindow删除和过滤函数时,相应记录将从这一缓冲区中删除。而在执行DataWindow的Update()函数时,PowerBuilder将查看这一缓冲区中的记录,以形成SQL INSERT和UPDATE语句。   2、Delete Buffer   这个缓冲区保存的是用DeleteRow()函数从Primary Buffer中删除的记录,执行Update()函数时,系统根据这一缓冲区的记录形成DELETE语句。   3、Filter Buffer   这个缓冲区存储的是从Original Buffer使用Filter()函数过滤到Primary Buffer中后剩余的记录。   4、Original Buffer   这一缓冲区存储的是DataWindow最初执行retrieve()函数时得到的全部记录。当提交数据库时,根据Primary Buffer生成的UPDATE语句和根据Delete Buffer生成的DELETE语句都要依据这一缓冲区来构造这些SQL语句中的Where子句。   Original Buffer由PowerBuilder内部维护,Power-Builder所提供的任何函数都无法改变它的值,不过通过PowerBuilder所提供的GetItem…系列的函数可以读出DataWindow最初从数据库中查到的原始值。通过这些函数我们可以编程实现所谓的"Undo"功能,并且得到在使用乐观锁时形成提交数据库的WHERE子句。   如果您当前使用的DataWindow没有设置修改的权力,您将不能对Delete缓冲区和Original缓冲进行操作,而且当调用Update()时也将引起系统错误。   数据缓冲区的状态值   Primary Buffer和Delete Buffer都有行级和列级的状态值,这个状态值是一个枚举类型。在提交时由该行的状态值来决定是否要产生SQL语句,其中Primary Buffer产生的是IN-SERT和UPDATE语句,而Delete Buffer产生的是DELETE语句。我们用GetItemStatus()函数和SetItemStatus()函数可以对这一状态值作操纵。这一枚举状态有以下四种:   ·NotModified!———该行或行的值为查询所得,没有发生改变。   ·DataModified!———该行或列的值为查询所得,发生了改变。   ·New!———该行或列为一插入的新行,数据没有发生改变(数据为空或缺省值)。   ·NewModified!———该行或列为一插入的新行,数据发生改变。改变是通过用户键盘输入或调用了SetItem()函数。 复制链接 站内收藏 打印本页 一键转帖 远播学友评论 共有0条评论,欢迎您发表! 用户名: 密码: 注册会员 文明上网 规范发言 匿名发表 发表评论时请自觉遵守互联网政策法规,查看相关规定 遵守《互联网新闻信息服务管理规定》及中华人民共和国其他各项有关法律法规 尊重网上文明,严禁发表侮辱、诽谤、教唆、淫秽内容 承担一切因您的行为而直接或间接引起的法律责任 您在远播评论发表的言论,远播教育网有权在网站内保留、转载、引用或者删除 数据提交中。。。 数据库课程推荐 班级名称开班时间学校名称学校价优惠价 平面设计与表现预约开班 水晶石教育¥0¥0 平面视觉设计专向班预约开班 水晶石教育¥0¥0 超媒体设计长期班预约开班 水晶石教育¥0¥0 免费试听试学动漫影视培训课预约开班 南洋设计学院¥0¥0 动漫大师班预约开班 素酷游戏实训中心¥0¥0 室内软装设计预约开班 水晶石教育¥0¥0 原画概念设定班预约开班 水晶石教育¥0¥0 游戏美术长期班|上海游戏培训预约开班 水晶石教育¥0¥0 戏原画精英实训就业班预约开班 素酷游戏实训中心¥0¥0 游戏原画短期速成班预约开班 素酷游戏实训中心¥0¥0 更多数据库课程 数据库相关资料 怎样从Oracle 8i中直接发送电子邮件 利用SQL *Plus复制遗留的Oracle数据表 Oracle 数据库的配置方案 完全分析 Oracle 数据库设计阶段性能优化策略 使用Oracle Text构建全文搜索应用程序 Oracle系统密码文件创建、使用及维护 在linux平台用hugetlbfs模拟lock_sga 将 Oracle 内置的安全特性用于 PHP Oracle的两个重要文件:TNSNAMES.ORA Oracle 与 DB2 数据类型分类对应说明 特价课程 [英孚教育] 商务英语培训课程 ¥面议学校价:¥面议 [百济韩国] 百济韩国语-中级2平晚班 ¥1680学校价:¥1680 数据库热门培训课程 近期活动 2011会计职称名师 上海最牛会计教师,教你一次性通过考试...[详细] 德语教程走遍德国 03 德语教程走遍德国 04 德语教程走遍德国 05 德语教程走遍德国 06 德语教程走遍德国 07 德语教程走遍德国 08 德语教程走遍德国 09 学习资料一周排行 购买流程 订单状态 常见问题 上门支付 货到付款 银行汇款 网上支付 听课证与收据 会员服务 积分说明 抵用券说明 退费说明 联系客服 价格最低比本网站价格低,返还双倍差价 先行赔付课程介绍与实际不符,先行赔付 轻松退款开班前无理由全额退还学费 关于远播 | 商务合作 | 市场推广 | 诚聘英才 | 客服中心 | 友情链接 | 网站地图 | 联系方式 | 机构登录 Copyright © 114study.com, All Rights Reserved. 上海远播教育科技有限公司