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

заявката за избор не работи с параметри, използващи Parameters.AddWithValue

Предполагам, че вашият код всъщност не е съвсем както е представено, като се има предвид, че в момента няма да се компилира - използвате cmdR преди да го декларирате.

Първо, вие се опитвате да използвате именувани параметри и според документацията на OdbcCommand.Parameters , което не се поддържа:

Освен това аз лично бих избягвал използването на AddWithValue както и да е - бих използвал нещо като:

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
        }
    }
}

Този пример използва имена, следващи конвенциите за именуване на .NET, и демонстрира правилното разполагане с ресурси... както и коригиране на проблема с параметъра.

Мисля, че е малко жалко, че трябва да предоставите име за параметъра, когато го добавяте към командата, въпреки че не можете да го използвате в заявката, но такъв е животът.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Брой тип данни на Mysql json и groupby

  2. защитават ли браузърите IP адреса на потребителите?

  3. MySQL групира с 2 колони, когато стойностите се разменят в колони

  4. Проблем при свързване към отдалечен сървър MySQL

  5. MySQL ПОРЪЧКА ПО ПОЛЕ с %