Mysql
 sql >> Baza danych >  >> RDS >> Mysql

zapytanie select nie działa z parametrami przy użyciu Parameters.AddWithValue

Zakładam, że Twój kod w rzeczywistości nie jest dostatecznie jak przedstawiono, biorąc pod uwagę, że obecnie się nie kompiluje - używasz cmdR zanim to zadeklarujesz.

Najpierw próbujesz użyć nazwanych parametrów i zgodnie z dokumentacją OdbcCommand.Parameters , który nie jest obsługiwany:

Dodatkowo osobiście unikałbym używania AddWithValue w każdym razie - użyłbym czegoś takiego:

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

Ten przykład używa nazw zgodnych z konwencjami nazewnictwa .NET i demonstruje prawidłowe usuwanie zasobów... a także naprawianie problemu z parametrami.

Myślę, że to trochę niefortunne, że musisz podać nazwę parametru podczas dodawania go do polecenia, nawet jeśli nie możesz go użyć w zapytaniu, ale takie jest życie.



  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 wybierający wartość domyślną, jeśli nie ma wyników?

  2. Wstaw używając LEFT JOIN i INNER JOIN

  3. Koszmar połączenia Delphi DBX i MySQL :Błąd DBX:Nie można poprawnie zainicjować sterownika

  4. Aktualizacja sekwencyjna z asocjacją

  5. Jak wycofać solone hasło z Bazy Danych i auth użytkownika?