SqlParameter с ParameterName не содержится в этой SqlParameterCollection - PullRequest
1 голос
/ 28 октября 2011

Не могу понять, почему я продолжаю получать

SqlParameter с ParameterName не содержится в этом SqlParameterCollection

когда я тянул и вызывал такие же проки в других методах.

В этом корпусе есть один параметр @EqId.

List<string> equipTypes = new List<string>();

Database db = DatabaseFactory.CreateDatabase("OurDBName");
DbCommand cmd = db.GetStoredProcCommand("Get_EquipTypes_By_ID");

db.DiscoverParameters(cmd);
cmd.Parameters["@EqId"].Value = equipID;

using (IDataReader objReader = db.ExecuteReader(cmd))
{
   while (objReader.Read())
      equipTypes.Add(DataUtility.GetStringFromReader(objReader, "Data"));
}

Ответы [ 2 ]

2 голосов
/ 28 октября 2011

Добавьте ваши параметры, как это

 cmd.Parameters.AddWithValue("@EqId", equipID);

Я думаю, что это самый чистый способ сделать это, ну вроде:)

0 голосов
/ 28 октября 2011

Во-первых, я не обнаружил бы параметры, когда вы знаете о параметрах.Поскольку вы делаете это, проверьте коллекцию параметров и убедитесь, что параметр обнаруживается.Если бы вы поняли это, я бы стремился к чему-то более похожему на то, что предложил Грег.

...