Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tham số @Name không được tìm thấy trong bộ sưu tập

Bạn cần thêm các tham số trước khi chỉ định giá trị:

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

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

Cân nhắc sử dụng cú pháp thay thế này:

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

Bạn có thể tìm thấy một ví dụ ngắn gọn về từng thứ trên Thuộc tính SqlCommand.Parameters trang tại MSDN.

Ngoài ra, bạn đã làm điều gì đó thú vị với chuỗi truy vấn. Điều này sẽ khắc phục nó:

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;";

Để nhận được LIKE để hoạt động chính xác, bạn có thể phải thêm % các ký hiệu xung quanh các giá trị tham số của bạn khi bạn thêm chúng:

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. Làm cách nào để xuất hàng triệu hàng từ MySQL sang CSV thông qua PHP mà không làm cạn bộ nhớ?

  2. Tìm kiếm chậm theo truy vấn chỉ mục LIKE% MYSQL

  3. MySQL:FULL OUTER JOIN - Làm cách nào để hợp nhất một cột?

  4. Làm cách nào tôi có thể tìm thấy tất cả các anh chị em cho nút của tôi và các anchestor của nó trong một cây danh mục phân cấp?

  5. MySQL hiển thị tất cả các ngày trong phạm vi