sql >> Databáze >  >> RDS >> Oracle

Jak předat booleovský parametr do procedury Oracle C#

Zkuste použít BindByName vlastnost OracleCommand jako true vynutit poskytovateli dat, aby tyto parametry svázal podle názvu a ne pouze pro index. Nemusíte předávat ' jako parametry. Je to lead s parametry v ado.net .

ODP.NET nepodporuje booleovský datový typ. Stačí použít 1 nebo 0 jako char hodnotu, aby to přetrvalo.

Ukázka:

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. Funkce RPAD() v PostgreSQL

  2. Oracle Concurrent Manager

  3. Jak vymazat všechny položky v mezipaměti v Oracle

  4. Django+Postgres:aktuální transakce je přerušena, příkazy ignorovány až do konce bloku transakce