dotConnect和调用过程参数问题

时间:2011-09-07 12:08:36

标签: c# dotconnect

这是我调用程序的代码:

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();

但是我得到了

  

此处不包含名称为“V_IID_DOKUMENT_PO”的参数   参数集合。

如果我签入DB

PROCEDURE PROCEDURENAME
 (V_IID_DOKUMENT_PO IN NUMBER
  ...

我做错了什么?

如果我使用:

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

我得到无效的sql语句

2 个答案:

答案 0 :(得分:2)

您是否指定这是您正在调用的存储过程?

E.g。你有这条线吗(你发布的样本代码似乎不完整):

cmd.CommandType = CommandType.StoredProcedure;

答案 1 :(得分:1)

使用,

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