1

我在 Oracle 11g 数据库的选择查询中使用 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 回答