Я получаю исключениеSqlParameter Исключение: SqlParameter уже содержится другой SqlParameterCollection
SqlParameter уже содержится другой SqlParameterCollection
Я переместил свои SqlParameter
вызовы из цикла Еогеасп как я думал, это была проблема, но я все еще получаю то же исключение.
private void SendToSQLServer_FactionStandings(Faction faction)
{
string sqlCnnString = "Server=tcp:horde.database.windows.net,1433;Initial Catalog=horde_db;Persist Security Info=False;User [email protected];Password=PASSWORD;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;";
SqlParameter sqlParaFaction_Faction_ID = new SqlParameter("@Faction_ID", SqlDbType.Int);
SqlParameter sqlParaFaction_ToFactionID = new SqlParameter("@ToFaction_ID", SqlDbType.Int);
SqlParameter sqlParaFaction_Standing = new SqlParameter("@Standing", SqlDbType.SmallInt);
using (SqlConnection sqlCnn = new SqlConnection(sqlCnnString))
{
sqlCnn.Open();
using (SqlTransaction sqlTrans = sqlCnn.BeginTransaction())
{
using (SqlCommand sqlCmd = new SqlCommand())
{
sqlCmd.Parameters.Clear();
foreach (FactionStanding factionStanding in faction.FactionStandings)
{
//
// - Insert Faction Standing Table Data
//
sqlParaFaction_Faction_ID.Value = factionStanding.Faction_ID;
sqlCmd.Parameters.Add(sqlParaFaction_Faction_ID); // <---- Getting exception here
sqlParaFaction_ToFactionID.Value = factionStanding.ToFaction_ID;
sqlCmd.Parameters.Add(sqlParaFaction_ToFactionID);
sqlParaFaction_Standing.Value = factionStanding.DefaultStanding;
sqlCmd.Parameters.Add(sqlParaFaction_Standing);
string sqlCmdFactionStandings = "INSERT INTO FactionStandings (Faction_ID, ToFaction_ID, Standing) VALUES (@Faction_ID, @ToFaction_ID, @Standing)";
sqlCmd.Connection = sqlCnn;
sqlCmd.CommandText = sqlCmdFactionStandings;
sqlCmd.Transaction = sqlTrans;
sqlCmd.ExecuteNonQuery();
}
sqlTrans.Commit();
sqlCmd.Parameters.Clear();
}
}
}
}
я добавил две строки, чтобы очистить параметры после того, как они были использованы в надежде, что они не были расположены в использовании заявления. Та же проблема. Обновлен код и номер строки. –
Пожалуйста, проверьте статьи справки [Как создать минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve), [Как задать хороший вопрос] (http://stackoverflow.com/ help/how-to-ask) и [Контрольный список вопросов переполнения стека] (http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist). –