我在Oracle 11g数据库的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语句中遗漏了什么?
答案 0 :(得分:1)
试试这个
Cmd.Parameters.Add("p1", OracleDbType.Char);