为什么要传入参数并且转换为SqlParameter类型(ASP.NET),不太懂,麻烦将详细点! 10

return(int)cmd.Parameters["ReturnValue"].Value;这句中没有["ReturnValue"]这个参数啊啊!!又不懂了!!... return (int)cmd.Parameters["ReturnValue"].Value;这句中没有["ReturnValue"]这个参数啊啊!!又不懂了!! 展开
 我来答
qinnan851
2013-09-16 · TA获得超过104个赞
知道小有建树答主
回答量:239
采纳率:0%
帮助的人:180万
展开全部
cmd执行的是存储过程么。是存储过程的话看命名像是要得到存储过程的返回值的。~你可以到存储过程里看看都有什么参数名字都是啥。明显这个命名不规范。
或者直接中断到哪里看看Parameters这个属下的成员都有哪些。
追问
对哦,是存储过程的返回值,那为什么要传入参数并且转换为SqlParameter类型(ASP.NET)。这个我不太懂
追答
cmd.Parameters.Add();你代码里是这样给存储过程添加参数的?Add()方法的参数当让要SqlParameter类型。其实有很多重构你可以查下MSDN具体看下

http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlparametercollection.aspx

那些方法的那一堆重构也就是那一堆不一样的函数签名。你总给按人家规矩来吧。。。你数据库sql写存储过程的参数可能是什么varcha nvarchar什么的但是.net可没那么多类型~就用SqlParameter就代替所有数据库中常用的数据类型了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
handangaoyang
2013-09-16 · TA获得超过2242个赞
知道大有可为答主
回答量:2633
采纳率:88%
帮助的人:888万
展开全部
你看存储过程的定义时,都要定义一个变量名,然后就是这个变量的类型。

这里传入一个参数,并且要设置为SqlParameter类型的意思,就是和存储过程中定义的类型相互对应起来。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式