asp.net 过程或函数 'sp_SelectOrdersByOrderID' 需要参数 '@OrderID',但未提供该参数。 20

在用VS2008做网上书店项目,但是在生成订单的时候出了错误,貌似是不能自动生成新的订单号publicstaticDataSetGetDataSet(stringconn... 在用VS2008做网上书店项目,但是在生成订单的时候出了错误,貌似是不能自动生成新的订单号

public static DataSet GetDataSet(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd=new SqlCommand();
using(SqlConnection conn = new SqlConnection(connString))
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = cmd;
DataSet ds=new DataSet();
adapter.Fill(ds); /////就是这里出错. 错误信息过程或函数 'sp_SelectOrdersByOrderID' 需要参数 '@OrderID',但未提供该参数。
cmd.Parameters.Clear();
return ds;
}
}

存储过程:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

--通过OrderID获取订单信息
ALTER PROCEDURE [dbo].[sp_SelectOrdersByOrderID]
@OrderID varchar(50)
AS
select *,(TotalBookPrice+PortPrice) as SumPrice,(TotalBookPrice+PortPrice-HasPayedPrice) as HasNotPayedPrice
from Orders
where OrderID=@OrderID
RETURN
展开
 我来答
showrock99
2012-01-01 · TA获得超过192个赞
知道小有建树答主
回答量:270
采纳率:50%
帮助的人:127万
展开全部
cmdParms里有值吗?如果是空的,你得给cmdParms这个数组里加上@OrderID
@OrderID是应该要有值才可以,如下
SqlParameter param = new sqlparameter("@OrderID", sqldbtype.int); //类型这看数据库里字段的类型
param.value = 15;//15随便写的
cmdParms.add(param);然后把param添加到cmdParms数组里
再执行就OK了
追问
cmdParms.add(param);这句话不对?数组可以用ADD?
追答
你的是SqlParameter[] cmdParms
只能cmdParms[0]=param;不能add
如果你是List cmdParms
那cmdParms就可以add
匿名用户
2012-01-01
展开全部
纯粹路过....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式