私はforeachコントロールを使用して文字列の配列をループし、各値を使用してデータベースに情報を挿入しようとしています。誰かが私がなぜforeach変数を使用できないusing節の中でなぜ理解するのを助けることができますか?C#使用節のForeach値?
string[] ship_ids = ShipsInScope.Split('|');
foreach (string ship_id in ship_ids)
{
using (SqlCommand InsertCommand = new SqlCommand("insert into PROJECT_SHIP (CR_Number, Ship_Id) VALUES (@CR_Number, @CCF_Number)", DBConn))
{
InsertCommand.Parameters.Add("@CR_Number", SqlDbType.NVarChar, 10).Value = CRNumber;
InsertCommand.Parameters.Add("@Ship_Id", SqlDbType.NVarChar, 10).Value = Ship_Id;
InsertCommand.ExecuteNonQuery();
InsertCommand.Dispose();
}
}
あなたがC#ののship_idで、そこケーシングの問題を抱えているがSHIP_ID – Marek
と同じではありませんあなたは必要ありません。あなたの 'using'句の中で' using'句として 'InsertCommand.Dispose()' *を呼び出すと、コードがその終わりに達すると 'SqlCommand'に対して自動的に' Dispose'が呼び出されます。 –
'using'ブロック内で' InsertCommand.Dispose(); 'を呼び出すのはなぜですか?彼らが言ったのは – Oded