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#の場合はどうすればよいですか?私は試してみましたが、ループの2番目の値のために最初の値で実行され、エラーを返します:配列内のすべての値に対してSQLストアドプロシージャを実行する
The ConnectionString property has not been initialized
(コードは以下になります)
あなたが助けることができるなら、複数のデータベース呼び出しをしたくないので、SPで行う必要があることをすべて実行し、配列の値を渡す必要があります。 – sr28
[CUSTOM TYPE](https://msdn.microsoft.com/en-us/library/ms175007.aspx)を使用できます。次に、配列をspに送信できます。各値に対してspを呼び出す必要はありません。 – NEER
ストア・プロシージャー全体を配列したい場合は、カンマで区切ってstringIDを渡すことができます。その後、ストアプロシージャでは、このカンマ区切り文字列を分割します。 http://jp.astackoverflow.com/questions/11102358/how-to-pass-an-array-into-a-sql-server-stored-procedure – user2960398