Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

cara menjalankan beberapa kueri Oracle c #

Meskipun Anda menggunakan nama untuk parameter Anda, driver Anda memperlakukannya secara posisi. Anda dapat mengetahuinya karena (hampir) cocok dengan :1 dengan nama p_cr1 - '1' bukan nama yang valid. Itu tidak mengeluh karena cocok secara posisi - tetapi itu berarti mencoba menggunakan P_para untuk :1 , dan sebagai jenis kesalahannya, itu menjelaskan kesalahan yang Anda lihat.

Mungkin ada cara untuk mengubah perilaku driver, tetapi untuk saat ini Anda dapat menukar urutan yang Anda ikat - sehingga ikatan terjadi dalam urutan (posisi) yang sama dengan variabel yang muncul dalam kueri. Jadi:

cmd.Parameters.Add("p_cr1", OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Output);
cmd.Parameters.Add(new OracleParameter(":P_para", OracleDbType.Int64)).Value = Convert.ToInt64(Textbox.Text);
cmd.Parameters.Add("p_cr2", OracleDbType.RefCursor, DBNull.Value, ParameterDirection.Output);



  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 Semua Kemungkinan Kombinasi Round Robin antara dua Tabel

  2. Fungsi NLS_COLLATION_NAME() di Oracle

  3. Ora 12154 kesalahan

  4. Hapus anak dan baris induk dengan satu skrip SQL

  5. Menambahkan catatan bernilai nol dalam kueri menggunakan fungsi analitik kumulatif