1

Oracle11gデータベースのselectクエリでOracleCommand.Parametersを使用しています。次のステートメントは、number型またはvarchar型の列でうまく機能します。

string theQuery = "select * from TABLE where COLUMN = :p1";
OracleCommand Cmd = new OracleCommand(theQuery);
Cmd.Parameters.Add(new OracleParameter("p1", "2183989118"));
Cmd.Connection = Conn;
Cmd.CommandType = CommandType.Text;

問題は、CHAR(20 BYTE)型の列に対してステートメントを実行したいのですが、これを実行しても結果が得られないことです。パラメータを使用せず、クエリに「2183989118」を直接追加した場合、クエリは機能します。

Parameters.Addステートメントに何かが欠けていますか?

4

1 に答える 1

1

これを試して

  Cmd.Parameters.Add("p1", OracleDbType.Char);
于 2012-08-24T07:42:48.110 に答える