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

truy vấn chọn không hoạt động với các tham số bằng Parameters.AddWithValue

Tôi cho rằng mã của bạn thực sự không hoàn toàn như đã trình bày, do nó hiện không biên dịch - bạn đang sử dụng cmdR trước khi bạn khai báo.

Trước tiên, bạn đang cố gắng sử dụng các tham số được đặt tên và theo tài liệu của OdbcCommand.Parameters , không được hỗ trợ:

Ngoài ra, cá nhân tôi sẽ tránh sử dụng AddWithValue Dù sao đi nữa - tôi sẽ sử dụng một cái gì đó như:

string sql = "select * from user_tbl where emp_id = ? and birthdate = ?";
using (var connection = new OdbcConnection(...))
{
    connection.Open();
    using (var command = new OdbcCommand(sql, connection))
    {
        command.Parameters.Add("@emp_id", OdbcType.Int).Value = userValidate.EmployeeId;
        command.Parameters.Add("@birthdate", OdbcType.Date).Value = userValidate.BirthDate;
        using (var reader = command.ExecuteReader())
        {
            // Use the reader here
        }
    }
}

Ví dụ này sử dụng các tên tuân theo các quy ước đặt tên .NET và thể hiện việc bố trí tài nguyên đúng cách ... cũng như khắc phục sự cố tham số.

Tôi nghĩ rằng hơi đáng tiếc khi bạn phải cung cấp tên cho tham số khi thêm nó vào lệnh mặc dù bạn không thể sử dụng nó trong truy vấn, nhưng đó là cuộc sống.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sql tham gia dưới dạng biểu đồ venn

  2. Điều gì sẽ xảy ra nếu tôi xóa ibdata1 trong mysql (LINUX)

  3. Cách thực thi tập lệnh .sql từ bash

  4. Tôi không thể nhận INSERT để làm việc

  5. Cách thiết lập mã DB cho biểu mẫu