这是我调用程序的代码:
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语句
答案 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;