起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 221|回复: 11

【结贴】关于存储过程参数的问题**

[复制链接]
发表于 2007-11-19 08:00:49 | 显示全部楼层 |阅读模式
在程序中,我传入了21个参数,但是在数据库的存储过程中,却必须写入22个参数,如果写入21个参数,系统在执行这个带有返回值的存储过程时报错。
而且参数多少对存储过程速度有影响,本该是21个参数的写入22个参数后存储过程在程序中执行的速度却变为正常水平;而用21个参数却很慢很慢。
回复

使用道具 举报

 楼主| 发表于 2007-11-19 09:21:56 | 显示全部楼层
最好你们能连过来看一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-19 10:59:45 | 显示全部楼层
为什么没有人回复?一个上午了
回复 支持 反对

使用道具 举报

发表于 2007-11-19 11:00:27 | 显示全部楼层
楼主是不是sqlserver的?  21个参数+返回值的参数,应该是22个
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-19 11:07:29 | 显示全部楼层
是SQL SERVER 2000
但是在SQL SERVER中都是用
CREATE  PROC P_xmqxlb
@ryid varchar(40),@xmmc  varchar(40),@hyid  varchar(40),@dqid varchar(40),@xsdbid  varchar(40),@bs int,@cpid varchar(40)
,@cpfl varchar(40),@XMZT varchar(40),@cpdj varchar(40),@sf varchar(40)
,@cpjemax numeric(15,2),@cpjemin numeric(15,2),@xmjemax numeric(15,2),@xmjemin numeric(15,2)
,@xmzydj varchar(40)
,@hyxf varchar(40),@gzld varchar(40)
,@yjksrq datetime,@yjjzrq datetime,@zdxmbz varchar(40),@tljd varchar(40)
创建的。
程序里没有定义@xmzydj varchar(40)这一参数,但是现在存储过程里定义这个冗余参数比不定义快的多。困惑中…………………………
回复 支持 反对

使用道具 举报

发表于 2007-11-19 11:22:44 | 显示全部楼层
楼主是不是存储过程写的问题?您说定义比不定义快?这个没什么联系吧。
您定义两个类似存储过程,对比一下试试。比如一个是21个参数,一个是22个参数的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-19 13:16:06 | 显示全部楼层
早就对比过了。要不你们连过来看一下。说说不清的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-19 15:14:05 | 显示全部楼层
还是不行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-19 15:38:19 | 显示全部楼层
lixy先生,先等下结贴吧。我这里确实存在这个问题,发挥很不稳定啊。
回复 支持 反对

使用道具 举报

发表于 2007-11-19 17:07:43 | 显示全部楼层
你看看是不是因为你的数据库服务器不稳定
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-4 20:46 , Processed in 0.041119 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表