0

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

在该存储过程中定义了 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 语句中需要的那些参数...

我的插入和选择查询在同一个存储过程中。

4

1 回答 1

3

您需要传递所有参数。

如果值为 null,则在参数中传递 db.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;
于 2013-10-19T05:13:17.250 回答