zl程序教程

您现在的位置是:首页 >  其他

当前栏目

扯开VFP的CursorAdapter神秘面纱,工具没有神性,更没有人性

2023-02-19 12:20:39 时间

某位老先生,自比如比尔*盖茨,能够以几十岁高龄与天斗,倒也其乐融融。

本是爱好也就罢了,不会就不会,还喜欢教训人,拿一个简单的CursorAdpater(俗称CA)到处唬人,我曾经扯下JSON的神秘面纱,告诉大家JSON本质是个字符串,特殊格式的字符串,怕它做什么。

1. CA的本质是一个对象类,跟表单是同级,本质是一样的。

不信的话,你新建一个类,看一下是不是CursorAdapter的级别是跟FORM一样的。

它只是一个用来做数据处理的类,没有其它作用,跟BS,CS没有半毛钱关系, 某位老先生吹牛还说:CA就是BS的核心,他要让手机也跑上CA,然后就实现了APP,不过,一晃过去了好过年,似乎没有看到半点动静。

2. CA为什么不会用,因为你的指导思想错了

误区1:

以为开发软件拖一拖拉一拉就行了。可视化只给了你拐杖,没有让你一直用拐杖行走而不自知。

误区2:

以为写程序就是一条道走到黑,曾有人跟我说,我写程序动不动几千行,VFP表单都放下不。过程,函数,类都是让你做组件,不写重复代码。

3. 来场简单的DEMO

  1. 照样拿起猫框,配置一下数据库参数(用猫框是顺便教一下社群会员,不用猫框也可以,看你的悟性了)
  1. 命令窗口输入
  1. 新建一个表单,并右键数据环境
  1. 数据环境中添加CursorAdpater
  1. 在cursoradapter1右键,生成器

其实这个生成器,食之无味,弃之弃之

  1. 把刚刚在命令行创建的MSSQLHelper数据访问类,放到这里来。
  1. 选择要操作的表

8.设置一下自动更新

  1. 就可以拖进表单了
  1. 运行一下看看
  1. 加个添加和保存功能
  1. 运行看看,修改保存没问题,新增没有刷新ID
  1. 加上ID刷新功能

Ca是不是很简单,其实只是它要配置的参数比较长而已。

上面的步骤,换个纯手写长这样

oca.SelectCmd=“select id,name from customer”

oca.CursorSchema="id I ,NAME C(50)"

oca.UpdatableFieldList="ID,NAME "

oca.UpdateNameList="ID CURSORADPATER1.ID, NAME CURSORADAPTER1.NAME"

自刷新ID,加上这个属性

oca.InsertCmdRefreshFieldList=“ID”

oca.InsertCmdRefreshCmd="SELECT @@IDENTITY"

它跟BS有半毛关系吗?一点也没有嘛。一个数据访问类而已。

我只是一个技术而已,不会把CA吹得神神秘秘,好像天顶星科技一样。

如果点赞多的话,我教大家自己做CA,自己撸一套,当然不是重复发明轮子。

JAVASCRIPT好书推荐

阮一峰的《ES6 入门》。阮老师虽然经常被诟病在社交媒体上发布的技术相关评论准确度欠佳,但我认为阮老师这书还是挺好的。这本书最大的优点是,是开源的(repo 为 https://github.com/ruanyf/es6tutorial),算是国内开先河之举,单凭这点就值得赞许。由于开源,任何人都可以给他开 issue 和 PR,因此就算阮老师这书里存在不少缺点,但一直在改进(我有时候也会去评论一些issue)。这本书的缺点是,真的只是入门书,且需要ES5基础。如果你能把MDN上的JS文档看一遍,你基本上就不用看这书了。