sql >> Database >  >> RDS >> Oracle

Booleaanse parameter doorgeven aan Oracle-procedure C#

Probeer BindByName . te gebruiken eigenschap van OracleCommand als true om de gegevensprovider te dwingen deze parameters op naam te binden en niet alleen voor de index. U hoeft de ' . niet door te geven als parameters. Het wordt geleid met parameters in de ado.net .

ODP.NET ondersteunt geen Booleaans gegevenstype. Gebruik gewoon 1 of 0 als een char waarde om het vol te houden.

Voor voorbeeld:

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. Is er een manier om te selecteren zonder vergrendeling in MySQL te veroorzaken?

  2. Werken met MyISAM in MySQL

  3. Een primaire sleutel voor automatische verhoging toevoegen aan een bestaande tabel in Oracle

  4. Hoe het schema van een object (tabel, weergave, opgeslagen procedure) in SQL Server-database te wijzigen - SQL Server / TSQL-zelfstudie, deel 28