DATAWINDOW 的 四 个 缓 站 区.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DATAWINDOW 的 四 个 缓 站 区 在PowerBuilder 中,DataWindow 是 用 户 前 端 用 来 存 储、 操 纵 数 据 的 对 象。 在每 一 个Data Window 对 象 中 有4 个 二 维 表 作 为 数 据 缓 冲 区, 用来 存 储 查 询 到 的 数 据。 用 户 在DataWindow 中 对 数 据 处 理 系统 内 部 的 操 作 实 际 上 都 是 将 数 据 在 这 几 个 缓 冲 区 中进 行 的 修 改 和 移 动, 最 后 在 用 户 提 交 数 据 库 时, 系 统 根据 这 四 个 缓 冲 区 中 的 信 息 形 成SQL 的IN-SERT,UPDATE,DELETE 等 语句 。 这 四 个 缓 冲 区 是: Primary Buffer 这个 缓 冲 区 是 存 放 填 充 窗 口 中DataWindow 控 件 中 数 据 的, 调 用DataWindow 的Retrieve() 函 数 和InsertRow() 函 数 可 以 将 数 据 填 入 这 个 缓 冲区 中。 当 使 用 有 关DataWindow 删 除 和 过 滤 函 数 时, 相 应 记 录将 从 这 一 缓 冲 区 中 删 除。 而 在 执 行DataWindow 的Update() 函 数时,PowerBu ilder 将 查 看 这 一 缓 冲 区 中 的 记 录, 以 形 成SQL INSERT 和UPDATE 语 句。 Delete Buffer ---- 这个 缓 冲 区 保 存 的 是 用DeleteRow() 函 数 从Primary Buffer 中 删 除 的记 录, 执 行Update( ) 函 数 时, 系 统 根 据 这 一 缓 冲 区 的 记 录 形成DELETE 语 句。 Filter Buffer 这个 缓 冲 区 存 储 的 是 从Original Buffer 使 用Filter() 函 数 过 滤 到Primary Buffer 中 后 剩 余 的 记 录。 Original Buffer 这一 缓 冲 区 存 储 的 是DataWindow 最 初 执 行retrieve() 函 数 时 得 到的 全 部 记 录。 当 提 交 数 据 库 时, 根 据Primary Buffer 生 成 的UPDATE 语 句 和 根 据Delete Buffer 生 成 的DELETE 语 句 都 要 依 据 这 一 缓 冲区 来 构 造 这 些SQL 语 句 中 的Where 子 句。 Original Buffer 由PowerBuilder 内 部 维 护,Power-Builder 所 提 供 的 任 何 函 数 都无 法 改 变 它 的 值, 不 过 通 过PowerBuilder 所 提 供 的GetItem … 系列 的 函 数 可 以 读 出DataWindow 最 初 从 数 据 库 中 查 到 的 原 始值。 通 过 这 些 函 数 我 们 可 以 编 程 实 现 所 谓 的Undo 功 能, 并 且 得 到 在 使 用 乐 观 锁 时 形 成 提 交 数 据 库 的WHERE 子 句。 如果 您 当 前 使 用 的DataWindow 没 有 设 置 修 改 的 权 力, 您 将 不 能对Delete 缓 冲 区 和Origin al 缓 冲 进 行 操 作, 而 且 当 调 用Update() 时 也 将 引 起 系 统 错 误。 数 据 缓 冲 区 的 状 态 值 Primary Buffer 和Delete Buffer 都 有 行 级 和 列 级 的 状 态 值, 这 个 状 态 值是 一 个 枚 举 类 型 。 在 提 交 时 由 该 行 的 状 态 值 来 决 定是 否 要 产 生SQL 语 句, 其 中Primary Buffer 产 生 的 是IN-SE RT 和UPDATE 语 句, 而Delete Buffer 产 生 的 是DELETE 语 句。 我 们 用GetItemStatus() 函数 和Se tItemStatus() 函 数 可 以 对 这 一 状 态 值 作 操 纵。 这 一 枚举 状 态 有 以 下 四 种: ·NotModified! 该 行 或 行 的 值 为 查 询 所 得, 没 有 发生 改 变。 ·DataModified! 该 行 或 列 的 值 为 查 询 所 得, 发 生 了改 变。 ·New! 该 行 或 列 为 一 插 入 的 新 行, 数 据 没 有 发生 改 变( 数 据 为 空 或 缺 省 值)。 ·NewModi

文档评论(0)

wuhuaiyu002 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档