在上篇文章中,我们用生成器来生成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的临时表一样可以进行操作.
*-- Newobject 函数声明一个类
*-- 参数1 是类名称,参数2 是类所在的PRG文件
*-- 1 DALCA类的实例化和查询所有记录(也可以用?传递参数)
*-- 2 DALCA类一经实例化,即拥有增删改的功能
oDALCA=Newobject("DAL_Employees","dal_employees.prg")
oDALCA.CursorFill(.T.)
Browse
1 新增一个空行
oDALCA.Add()
Browse
2 使用Replace 命令填充数据 (同样可以使用此命令修改数据行) ,也可以绑定到控件中操作.
Replace lastname with '中国' in (oDALCA.alias)
brow
3 删除当前行数据
oDALCA.delete()
brow
4 检查数据是否改变,返回值如果为.T. ,则表被修改过.
?oDalCa.detectchanged()
5 保存到后台数据库中,返回值为.T.则保存成功,为.F.,可以显示oDALCa.msg属性查看错误原因
if !oDalCa.Save()
wait windows oDalCa.msg
endif
6 撤消所有操作.
? oDalCa.Undo()
7 加载JSON,直接变成DAL_CA附加的临时表,BS模式非常好用
oDALCa.parsejson(JSON语句,数据所属的,0,主键list)