0

これは、プロシージャを呼び出すための私のコードです。

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ステートメントを取得します

4

2 に答える 2

2

これが呼び出しているストアドプロシージャであることを指定しましたか?

たとえば、この行はどこかにありますか(投稿されたサンプルコードは不完全なようです):

cmd.CommandType = CommandType.StoredProcedure;
于 2011-09-07T12:30:39.823 に答える
1

使用する、

cmd.CommandType = System.Data.CommandType.StoredProcedure;
cmd.Parameters.Add("V_IID_DOKUMENT_PO", OracleDbType.Number).Value=1;
于 2011-09-07T12:11:32.897 に答える