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

Как да предадете булев параметър на процедурата на Oracle C#

Опитайте да използвате BindByName свойство на OracleCommand като true за да принуди доставчика на данни да обвърже тези параметри по име, а не само за индекса. Не е необходимо да предавате ' като параметри. Той е водещ с параметри в ado.net .

ODP.NET не поддържа булев тип данни. Просто използвайте 1 или 0 като char стойност, за да го запазите.

За проба:

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. Oracle:как да получите процент от общия брой чрез заявка?

  2. Как да обновите материализиран изглед в oracle

  3. cx_Oracle:Как мога да получа всеки ред като речник?

  4. Използване на въртене върху множество колони от ред на Oracle

  5. Как да пренасоча изхода на DBMS_OUTPUT.PUT_LINE към файл?