错误SqlParameter名称为null

时间:2013-10-19 04:58:51

标签: asp.net

我正在使用存储过程来获取详细信息。

在该存储过程中定义了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查询位于同一个存储过程中。

1 个答案:

答案 0 :(得分:3)

您需要传递所有参数。

如果值为null,则在参数DBNull.Value;

中传递db.null值
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;