public DataSet DataforTable(string fundID, string fromDate, string toDate)
{
string[] fundList = fundID.Split(',');
DataSet full = new DataSet();
DataTable ds = new DataTable();
full.Tables.Add(ds);
foreach (var fund in fundList)
{
using (strCon)
{
SqlCommand cmd = new SqlCommand("[dbo].[z_Formulas2]", strCon);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter sda = new SqlDataAdapter(cmd);
cmd.Parameters.Add(new SqlParameter("@Fund_ID", fund));
cmd.Parameters.Add(new SqlParameter("@XFund_ID", ""));
cmd.Parameters.Add(new SqlParameter("@Start_Dated", fromDate));
cmd.Parameters.Add(new SqlParameter("End_Dated", toDate));
sda.Fill(ds);
}
}
return full;
}
我想爲基金(數組)中的每個值運行我的SP。我應該通過在SP中傳遞數組來做SP嗎,還是應該用c#來完成? 如果在C#中如何?我想,它運行的第一個值,然後for循環的第二個值提示錯誤:爲陣列中的每個值運行SQL存儲過程
The ConnectionString property has not been initialized
(代碼如下所示),如果SP如何?
你不希望被進行多次調用數據庫,如果你能幫助它,所以你應該做任何你需要在SP做,它傳遞的數組中的值。 – sr28
您可以用[自定義類型](https://msdn.microsoft.com/en-us/library/ms175007.aspx)然後你就可以發送陣列SP。無需爲每個值調用sp。 – NEER
如果你想整個數組在存儲過程,那麼你可以傳遞字符串fundID與逗號分開。之後在存儲過程中,分割這個逗號分隔字符串。 http://stackoverflow.com/questions/11102358/how-to-pass-an-array-into-a-sql-server-stored-procedure – user2960398