Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

pilih kueri tidak berfungsi dengan parameter menggunakan Parameters.AddWithValue

Saya akan menganggap kode Anda sebenarnya tidak cukup seperti yang disajikan, mengingat saat ini tidak dapat dikompilasi - Anda menggunakan cmdR sebelum Anda menyatakannya.

Pertama, Anda mencoba menggunakan parameter bernama, dan menurut dokumentasi OdbcCommand.Parameters , yang tidak didukung:

Selain itu, saya pribadi akan menghindari penggunaan AddWithValue anyway - saya akan menggunakan sesuatu seperti:

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

Contoh ini menggunakan nama yang mengikuti konvensi penamaan .NET, dan menunjukkan pembuangan sumber daya dengan benar... serta memperbaiki masalah parameter.

Saya pikir agak disayangkan bahwa Anda harus memberikan nama untuk parameter saat menambahkannya ke perintah meskipun Anda tidak dapat menggunakannya dalam kueri, tetapi begitulah kehidupan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pohon menu gema dengan fungsi rekursif

  2. Sequelize limit dan offset penempatan yang salah dalam kueri

  3. Menggunakan SSIS untuk meminta kueri sumber ADO .NET meneruskan parameter dari SQL Server

  4. MYSQL - Perbedaan antara IN dan EXIST

  5. MySQL GROUP_CONCAT dengan COLUMN SPLIT