关于ADO控件执行存储过程的问题 ( 积分: 50 )

  • 主题发起人 主题发起人 L.Ming
  • 开始时间 开始时间
L

L.Ming

Unregistered / Unconfirmed
GUEST, unregistred user!
有大约40多个存储过程吧,想用最快的方式进行处理,用什么方法好?
我现在用ADOQUERY以SQL的形式一次性执行,但是当存储过程有错误时,错误并没有返回,有什么好办法控制异常?
一次执行一条,ADO控件频频打开,关闭,效率应该更差吧?
 
一次性地执行40多个存储过程?!
写一个存储过程,在里面调用这40多个,每调用一个时,设置一个捕获异常.
 
不行的,我为何在要ADO里面用SQL的方式执行呢?因为每一个过程都有参数.而且部分过程要等某几个过程执行完毕后,他才有所需要的数据.所以不可能写在一个存储过程里面.
 
我觉得效率不会很低,差距不是很大,应该可以的。SQL语句最终都是要传递给数据库执行,一次全部传递,和一次一次传递应该差距不大。我觉得一次一次执行比较灵活。
 
有40多个存储过程只能说明你的设计有严重问题,其中很大的一部分可以设计成函数
最好能够在一个储存过程中调用所有的存储过程
 
我还没有在SQL内设计过函数,不知道有什么特别需要才设计成函数的.
 
来自:L.Ming, 时间:2007-8-31 10:19:10, ID:3829473
不行的,我为何在要ADO里面用SQL的方式执行呢?因为每一个过程都有参数.而且部分过程要等某几个过程执行完毕后,他才有所需要的数据.所以不可能写在一个存储过程里面.

如果你的过程很多,处理的数据量也大的话,建议将过程再进行一下分类,每个分类作为一个处理,可以根据之前运行的情况单独执行,否则一旦出错,每次都要全部运行的话效率太低。
捕捉错误的话,你可以使用ADOConnection,类似showmessage(AdoConnection1.Errors.Item[0].Description)这样就可以捕捉错误了。
 
一次调用40多个存储过程在设计算法上应该有问题哟!
 
最好是在一个存储过程里调用四十多个存储过程
 
不是有问题吗?
 
把40个过程放在一个过程调用,在捕获异常就行了
 
用一个adoquery执行40个过程,我认为应当不行!但没有这样试过,一般用过程调用过程,我是这样搞的!
 
后退
顶部