異なる情報を含む 3 つの配列があります。1 つの配列には多数の ID が含まれ、2 番目の配列には多数の日付が含まれ、3 番目の配列には多数の名前が含まれます。
これは簡単な質問であることはわかっていますが、その方法を思い出せないので、愚かなことをお詫びします。
3 つの配列は次のようになります。
string[] eventIDs = EventID.Split(',');
string[] eventDates = eventCopyDate.Split(',');
string[] invNames = investigatorNames.Split(',');
値は「john Doe、Mark Doe、Tim Doe」のように見えるため、.Split の理由 ここでネストされた for ループを試しましたが、成功しませんでした。
foreach (var id in eventIDs)
{
foreach (var date in eventDates)
{
foreach (var name in invNames)
{
cmd.Parameters.Add(new SqlParameter("@EventID", SqlDbType.Int));
cmd.Parameters["@EventID"].Value = int.Parse(id);
cmd.Parameters.Add(new SqlParameter("@InvestigatorName", SqlDbType.NVarChar));
cmd.Parameters["@InvestigatorName"].Value = name;
cmd.Parameters.Add(new SqlParameter("@CopyDate", SqlDbType.DateTime));
cmd.Parameters["@CopyDate"].Value = Convert.ToDateTime(date);
}//end name foreach
}//end date foreach
}//end id foreach
これは、最初に配列全体を反復処理してから、2 番目のネストされた配列に戻ることを知っています。配列の最初の値を反復処理し、それらを変数に割り当ててから、2 番目の反復を実行しようとしています。
したがって、arrayNames:"john Doe, Mark Doe" arrayDates"12/12/12, 10/12/12" および arrayID:"234,235,236" は次のように使用されます。
"john Doe" "12/12/12" "234"
"Mark Doe" "10/12/12" "235"