我正在使用存儲過程來獲取詳細信息。錯誤SqlParameter名稱爲空
在該存儲過程中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語句的參數...
我的插入和選擇查詢是在相同的存儲過程。
如果這些參數沒有在存儲過程中指定的默認值空通db.null值,則需要在通過他們,即使你只是設置值爲null。 – ps2goat
這意味着現在我必須將默認值設置爲存儲過程參數。 – Manoj
*我的插入和選擇查詢是在相同的存儲過程* - 這似乎是一個非常糟糕的主意。任何程序都應該有一個任務 - 只有一個任務。如果你需要一個'INSERT' - 創建一個插入過程。如果你需要一個'SELECT',創建一個單獨的選擇程序。通過這樣做,您只需要傳遞每個任務實際需要的參數。 –