コンマ区切りのテキストボックスと、それを解析してループして一連の SQL INSERT ステートメントを作成するループがあります。ただし、[Message_Bridge] の最初の SQL INSERT ステートメントのみが機能しています。foreach ステートメントは最初は正常に機能していますが、その後の反復では INSERT が実行されません。エラーはスローされません。
dataCommand.CommandText = "INSERT INTO [Messages]([Subject], [Body], [Date_Time], [Originator], [Canceled], [Message_Index]) VALUES(@Subject, @Body, GETDATE(), @Originator, 0, 0); SELECT SCOPE_IDENTITY();";
dataCommand.Parameters.Clear();
dataCommand.Parameters.AddWithValue("@Subject", ComposeSubjectTexbox.Text);
dataCommand.Parameters.AddWithValue("@Body", ComposeBodyTexbox.Text);
dataCommand.Parameters.AddWithValue("@Originator", 506);
var Message_ID = dataCommand.ExecuteScalar();
string[] Recipients = ComposeToTextBox.Text.Split(',');
dataCommand.CommandText = "INSERT INTO [Message_Bridge]([Message_ID], [User_ID]) SELECT TOP 1 @Message_ID, [User_ID] FROM [Users] WHERE [User_Name] = @User_Receiver; ";
dataCommand.Parameters.Clear();
dataCommand.Parameters.AddWithValue("@Message_ID", Message_ID);
dataCommand.Parameters.Add("@User_Receiver", SqlDbType.NVarChar);
foreach (string User_Receiver in Recipients)
{
dataCommand.Parameters["@User_Receiver"].Value = User_Receiver;
dataCommand.ExecuteNonQuery();
}
myConnection.Close();