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 展开
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 展开
2个回答
展开全部
cmdParms里有值吗?如果是空的,你得给cmdParms这个数组里加上@OrderID
@OrderID是应该要有值才可以,如下
SqlParameter param = new sqlparameter("@OrderID", sqldbtype.int); //类型这看数据库里字段的类型
param.value = 15;//15随便写的
cmdParms.add(param);然后把param添加到cmdParms数组里
再执行就OK了
@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
展开全部
纯粹路过....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询