Mysql
 sql >> база данни >  >> RDS >> Mysql

Параметър @Name не е намерен в колекцията

Трябва да добавите параметрите, преди да посочите стойност:

mySqlCommand.Parameters.Add("@AreaName", SqlDbType.VarChar);

mySqlCommand.Parameters["@AreaName"].Value =
    (string.IsNullOrEmpty(Convert.ToString(PModel.AreaName))
        ? (object)DBNull.Value : PModel.AreaName));

Помислете за използването на този алтернативен синтаксис:

mySqlCommand.Parameters.AddWithValue("@AreaName",
    (string.IsNullOrEmpty(Convert.ToString(PModel.AreaName))
        ? (object)DBNull.Value : PModel.AreaName));

Можете да намерите кратък пример за всеки в SqlCommand.Parameters Свойство страница в MSDN.

Освен това сте направили нещо фънки с низа на заявката. Това трябва да го поправи:

mySqlCommand.CommandText =
    "SELECT * FROM PlantAreaCodes WHERE (AreaCode IS NULL OR AreaCode LIKE @AreaCode OR AreaName IS NULL OR AreaName LIKE @AreaName OR Comments IS NULL OR Comments LIKE @Comment;";

За да получите LIKE s за да работи правилно, вероятно ще трябва да добавите % символи около стойностите на вашите параметри, когато ги добавяте:

var areaName = (string.IsNullOrEmpty(Convert.ToString(PModel.AreaName))
                   ? (object)DBNull.Value : PModel.AreaName)

mySqlCommand.Parameters.AddWithValue("@AreaName", "%" + areaName + "%");


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вмъкване на json кодирани данни в mysql

  2. Не може да се свърже с нито един от посочените MySQL хостове

  3. RSS генератор с функция за кеширане

  4. Как да изтрия всички таблици от базата данни с manage.py CLI в Django?

  5. Изключване на определени полета от SQL SUM заявка