保存失败,可能是自己的数据库连接没有配置好,是不是显示连接的问题,有时保存失败是单号重复的问题,反正他们不管,就一昩提示保存失败。而且还有些人,压根就没有考虑异常情况,然后程序一掉线,就弹各种窗,用户点点点,“爽歪歪”。
这就是为什么有些人写程序图省事,后期维护火葬场的由来了。
框架提供了一整套的错误处理,错误应该在源头就要处理了,起码要捕捉到错误信息。
表达式:工号<>'' and 姓名<>''
check名: {姓名和工号不可空白}
设置唯一索引,索引名为{订单号不能为空}
在表的触发器中写过程,如不合要求,则
rasieError(..., '{客户欠款数超过限额啦}',..)
产品资料的信息在入库单中存在,不让用户删除.
在关系图中,只需拉一根线(产品资料.产品编号->入库单明细.产品编号)将关系名改为,{该物料已经被使用,无法删除} 一根线解决问题,一句代码也不用写。
包括字段/记录, 表间(RF), 完全利用mssql完善的功能、极好的性能、方便集中的操作。
假设产品资料的信息在入库单中存在,不让用户删除.
oDBSQLHelper=newobject("MSSQLHelper","MSSQLHelper.prg")
if (oDBSQLHelper.exeCuteSQL("delete from 产品资料 where 产品编号 ='1'"))<0
?"删除失败",oDBSQLHelper.errmsg
return
endif
?"删除成功"
假设订单号重复了
oCA=newobject("dal_订单","dal_订单.prg")
*--- 省略一些代码
if !oca.save()
?"保存失败",oca.msg
return
endif
?"保存成功"
因为MSSQL数据库有一大堆不需要的提示,我们只需要将其中{错误信息}取出来显示就好。