前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >重量级的选手DAL_CA上场,掀翻一堆重复的屎山代码

重量级的选手DAL_CA上场,掀翻一堆重复的屎山代码

作者头像
加菲猫的VFP
发布2021-08-16 15:20:20
2610
发布2021-08-16 15:20:20
举报
文章被收录于专栏:加菲猫的VFP

在上篇文章中,我们用生成器来生成DAL_CA类的代码. 而DAL_CA的代码一生成就拥有增删改保存撤消的方法。

在框架的设定中,MSSQLHelper是轻量级的DAL层类,可以用来执行SQL命令,实现增删查改的功能。而DAL_CA是重量级的DAL层方法,如果一个类有增删查改的需求,那么就请选择DAL_CA来实现,BS/CS模式都可以使用的一个非常好用的类。

DAL_CA是基于VFP本身的CursorAdpater派生的子类,所以CursorAdpater特性,DAL_CA类也都有。

当实例化一个DAL_ca时,调用Cursorfill()方法,将生成一个临时表,这个表像VFP的临时表一样可以进行操作.

代码语言:javascript
复制
*-- Newobject 函数声明一个类
*-- 参数1 是类名称,参数2 是类所在的PRG文件
*-- 1 DALCA类的实例化和查询所有记录(也可以用?传递参数)
*-- 2 DALCA类一经实例化,即拥有增删改的功能
oDALCA=Newobject("DAL_Employees","dal_employees.prg")
oDALCA.CursorFill(.T.)
Browse

1 新增一个空行

代码语言:javascript
复制
oDALCA.Add()
Browse

2 使用Replace 命令填充数据 (同样可以使用此命令修改数据行) ,也可以绑定到控件中操作.

代码语言:javascript
复制
Replace lastname with '中国' in (oDALCA.alias)
brow

3 删除当前行数据

代码语言:javascript
复制
oDALCA.delete()
brow

4 检查数据是否改变,返回值如果为.T. ,则表被修改过.

代码语言:javascript
复制
?oDalCa.detectchanged()

5 保存到后台数据库中,返回值为.T.则保存成功,为.F.,可以显示oDALCa.msg属性查看错误原因

代码语言:javascript
复制
if !oDalCa.Save()
  wait windows oDalCa.msg
endif

6 撤消所有操作.

代码语言:javascript
复制
? oDalCa.Undo()

7 加载JSON,直接变成DAL_CA附加的临时表,BS模式非常好用

代码语言:javascript
复制
oDALCa.parsejson(JSON语句,数据所属的,0,主键list)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 加菲猫的VFP 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档