Pregunta

Este es mi código para llamar al procedimiento:

cmd.CommandText = "x.PROCEDURENAME";

cmd.Parameters["V_IID_DOKUMENT_PO"].Value = "1";
cmd.Parameters["x"].Value = x.Text;
cmd.Parameters["x"].Value = x.Text;
cmd.Parameters["x"].Value = x.Text;
cmd.Parameters["x"].Value = Convert.ToInt32(x.Text);
cmd.Parameters["x"].Value = x.Text;
cmd.Parameters["x"].Value = x.Text;
cmd.Parameters["x"].Value = x.Text;
cmd.Parameters["x"].Value = x.Text;
cmd.Parameters["x"].Value = "1";
cmd.ExecuteNonQuery();

pero entiendo

Un parámetro con el nombre 'V_IID_DOKUMENT_PO' no está incluido en este Colección de parámetros.

si reviso DB

PROCEDURE PROCEDURENAME
 (V_IID_DOKUMENT_PO IN NUMBER
  ...

¿Qué estoy haciendo mal?

Si uso:

cmd.Parameters.Add("V_IID_DOKUMENT_PO", OracleDbType.Number, 1);

obtengo una declaración SQL no válida

¿Fue útil?

Solución

Utilice,

cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("V_IID_DOKUMENT_PO", OracleDbType.Number).Value=1;

Otros consejos

¿Especificó que se trata de un procedimiento almacenado al que está llamando?

Por ejemplo,¿Tiene esta línea de alguna manera (su código de muestra publicado parece incompleto):

cmd.CommandType = CommandType.StoredProcedure;
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top