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

Cách truyền tham số boolean cho thủ tục Oracle C #

Thử sử dụng BindByName thuộc tính của OracleCommand dưới dạng true để buộc nhà cung cấp dữ liệu ràng buộc các tham số này theo tên chứ không chỉ cho chỉ mục. Bạn không cần phải chuyển ' dưới dạng các tham số. Nó dẫn đầu với các tham số trong ado.net .

ODP.NET không hỗ trợ kiểu dữ liệu Boolean. Chỉ cần sử dụng 1 hoặc 0 dưới dạng một char giá trị để duy trì nó.

Đối với mẫu:

cmd = new Oracle.DataAccess.Client.OracleCommand("Vbank_pkg.vb_log_entry", con);

cmd.BindByName = true;
cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.Add("p_rqserial", OracleDbType.Int32).Value = Log_Serial;
cmd.Parameters.Add("p_orig", OracleDbType.Varchar2).Value = p_orig;
cmd.Parameters.Add("p_type", OracleDbType.Char).Value = p_type;
cmd.Parameters.Add("p_objname", OracleDbType.Varchar2).Value = p_objname;
cmd.Parameters.Add("p_info", OracleDbType.Varchar2).Value = p_info;
cmd.Parameters.Add("p_text", OracleDbType.Varchar2).Value = p_text;
cmd.Parameters.Add("p_with_commit", OracleDbType.Char).Value = "1";

cmd.ExecuteNonQuery();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo quy trình lưu trữ PL / SQL với tham số trong cơ sở dữ liệu Oracle

  2. Làm thế nào bạn có thể chạy cùng một truy vấn nhiều lần bằng cách sử dụng vòng lặp trong PL / SQL?

  3. Giải quyết lỗi PLS-00323 trong Oracle

  4. Chọn từ bảng bằng cách chỉ biết ngày mà không có thời gian (ORACLE)

  5. Sự khác biệt giữa các lớp trình điều khiển Oracle jdbc?