开发了适合自己使用的中间层,sqlhelp函数(VFP的sqlhelp.prg)。

一直以来,我发现保存过程,是我们开发软件最花时间的部分,且经常出错,检查代码需花很多时间。

例如这种界面,我们一般是先判断哪些值不能为空,然后拷贝到..\test.dbf,pack后,再获取每个值的变量,再写SQL插入语句,返回成功后,我们处理好界面。

其实基本每个界面都做着同样的事情。代码也很长,(我计算了下,这样的界面,代码最少要80行)。但每次修改或者增加字段的时候,就需要动很多地方,特别是,当字段特别多的时候,需要修改的代码特别多,而且容易出错。先本地临时表dbf,然后SQL数据库(这2个是必须的),然后保存代码再增加。我见过最多代码的的表单,染色加工单,因为工艺复杂,单个表单的字段超过120个,SQL插入语句要分5句才能完成。(VF不允许一行语句特别长)。

为了解决这个问题,我曾为自己开发了SQL代码生成器。

只要选择好要保存的dbf表,字段和插入语句和修改语句是自动生成的,我甚至还做了,当字段超过10个的时候,就换成先插入,再修改的方法。

我把DBF的每个字段获取到变量a1,a2,a3........

然后生成我们那句 ln1 = SQLEXEC(lnHandle,"inster into [表名] (字段,字段...) values (?a1,?a2...)。

用这个工具,能减少很多时间,出错率也降低了很多,但还是花费很多时间写保存过程,因为保存代码会随着字段的多少而增加,这种方法在遇到特别多字段的时候,或者需要经常修改字段的时候,工作量极大,我在这方面吃了很多亏。毕竟我经常是接定制开发的客户订单,庞大工作量,花费很长的时候,会让我客户失去耐性。

于是,我尝试使用视图,但是,很不实际,ODBC很经常受其他软件影响经常需要重建,win10后,需要管理员权限才能稳定。而且,做连接的时候,也需要挨个表单填写连接填写清楚。当然,确实方便,只是稳定性,就不好说了。

我再把方向改到CA类,但是,学习曲线大。我继续找,其实网上很多做好的框架,但都没有中文教程,最后找到加菲猫的,但加菲猫的东西,脱离了dbf,需要自己写保存语句,当然也很快,但是,代码没有视图那么简洁,修改起来,还是要动代码。

最后最后,我决定自己开发适合自己的,就是slqhelp类。保存代码大概这样,

代码大概15行,保存和修改保存在一起。而且,不管你多少字段,都是这么多代码。那很多人会说,如果我不使用自增型ID,可以吗?可以,但数据结构要这样

基本就OK,放心,我做了无数个测试,迟点会把这个prg放到网上免费下载。能找到出错的部分,我解决不了的,加我微信,我发红包给你。我之所以信心满满,是因为我中间这个函数的方式,跟我原来最稳定的spt保存方式一样,只是,我做成自动生成的方式了,这部分我抽出来做中间层,只需要把你要保存的数方到test.dbf,然后运行sqlhelp()函数,即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值