我正在使用存储过程来获取详细信息。
在该存储过程中定义了4个参数
BAL图层
Sqlparameter[] param=new SqlParameter[4];
param[0]=new Sqlparameter("@one",Uname);
param[3]=new SqlParameter("@three",Pass);
ds=dal.getdetails("spname",param);
return ds;
DAL图层
public DataSet getdetails(string spname,SqlParameter[] param);
{
// here when i retrive the parameter sent by the BAL Layer,
//I retreive in this format
param={"@one",null,null,"@three"}
// it throw me error...
// what code i have to write here...
}
如何只使用select语句中需要的参数...
我的insert和select查询位于同一个存储过程中。
答案 0 :(得分:3)
您需要传递所有参数。
如果值为null,则在参数DBNull.Value;
Sqlparameter[] param=new SqlParameter[4];
param[0]=new Sqlparameter("@zero",Uname);
param[1]=new Sqlparameter("@one",DBNull.Value);
param[2]=new Sqlparameter("@two",DBNull.Value);
param[3]=new SqlParameter("@three",Pass);
ds=dal.getdetails("spname",param);
return ds;