在LIKE运算符右侧的文字中查询参数

时间:2013-09-12 14:18:30

标签: oracle odp.net

我正在尝试使用ODP.NET运行查询。查询在LIKE运算符右侧的文字中有一个参数。这是我的代码:

string query = @"select col1,col2,col3 from table where name like '%:cus_name%'";
OracleParameter p1 = new OracleParameter();
p1.OracleDbType = OracleDbType.Char;
p1.Value = name;
p1.ParameterName = "cus_name";

OracleCommand sql = new OracleCommand(query, conn);
sql.Parameters.Add(p1);
OracleDataReader ora = null; 

我收到“无效参数”错误。请建议。

1 个答案:

答案 0 :(得分:6)

更改您的

like '%:cus_name%'

like  '%' || :cus_name || '%'

问题在于引用。在引号中,您的 rdms 会将其识别为 string literal 从不将其视为参数。