L
lizongqi
Unregistered / Unconfirmed
GUEST, unregistred user!
具体问题如下
http://expert.csdn.net/Expert/topic/1584/1584125.xml?temp=.6263391
我已经用了一个星期的时间找原因。因为把企业逻辑和安全控制放到数据库中,获得资料存储过程GetXXXXX和更新资料存储过程XXXXAdd,XXXXEdit,XXXXDelete都要进行权限、资料id、用户id等等重要的检测。不符合企业逻辑的权限、id等通过
raiserror(@errorMsg,16,1)
return
触发错误,返回,使客户端获得必要的信息。取得数据和更新数据的设计方法都是统一的,我都检查了n遍了,存储过程绝对没有错误。
使用c/s结构,通过ADO直接操作存储过程,try..except正常工作,完全符合设计要求。而用在三层中,只有获取数据可以正常捕捉错误和正常工作,更新数据捕捉不到任何错误。
后台sql server2000
数据提供 adoquery+datasetProvider(获取数据)
adoStoredProc+datasetProvider(更新数据)
连接方式 socketConnection
客户端 Clientdataset取得数据是通过dataRequest取得,更新数据通过在相应datasetProvider的beforeUpdateRecord中处理。这些取得数据和数据更新的处理都是用adoquery执行相应的存储过程实现的。
有的人说,raiserror传递的是消息,不是异常错误,所以捕捉不到。
我觉得,c/s结构中,就可以捕捉到raiserror的“信息”,所以这种说法不成立。
要么是ado的问题,要么是midas和socketConnection的问题。
我现在面临的是
1.更改设计模式 三层--〉c/s结构,因为程序做了三个月了,如果更改结构,需要1个月的时间;
2.要么就是重新来(数据库后台已完成),需要更多的时间
对三层结构开发中遇到各种奇怪问题的兄弟进来说一说,up一下也好。也希望开发经验足的一个道上的给个意见,能尽快完成既定的项目(crm客户关系管理系统)。谢谢。
http://expert.csdn.net/Expert/topic/1584/1584125.xml?temp=.6263391
我已经用了一个星期的时间找原因。因为把企业逻辑和安全控制放到数据库中,获得资料存储过程GetXXXXX和更新资料存储过程XXXXAdd,XXXXEdit,XXXXDelete都要进行权限、资料id、用户id等等重要的检测。不符合企业逻辑的权限、id等通过
raiserror(@errorMsg,16,1)
return
触发错误,返回,使客户端获得必要的信息。取得数据和更新数据的设计方法都是统一的,我都检查了n遍了,存储过程绝对没有错误。
使用c/s结构,通过ADO直接操作存储过程,try..except正常工作,完全符合设计要求。而用在三层中,只有获取数据可以正常捕捉错误和正常工作,更新数据捕捉不到任何错误。
后台sql server2000
数据提供 adoquery+datasetProvider(获取数据)
adoStoredProc+datasetProvider(更新数据)
连接方式 socketConnection
客户端 Clientdataset取得数据是通过dataRequest取得,更新数据通过在相应datasetProvider的beforeUpdateRecord中处理。这些取得数据和数据更新的处理都是用adoquery执行相应的存储过程实现的。
有的人说,raiserror传递的是消息,不是异常错误,所以捕捉不到。
我觉得,c/s结构中,就可以捕捉到raiserror的“信息”,所以这种说法不成立。
要么是ado的问题,要么是midas和socketConnection的问题。
我现在面临的是
1.更改设计模式 三层--〉c/s结构,因为程序做了三个月了,如果更改结构,需要1个月的时间;
2.要么就是重新来(数据库后台已完成),需要更多的时间
对三层结构开发中遇到各种奇怪问题的兄弟进来说一说,up一下也好。也希望开发经验足的一个道上的给个意见,能尽快完成既定的项目(crm客户关系管理系统)。谢谢。