我在 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 语句中是否缺少某些内容?