Reputation: 43
I am trying to run a query using ODP.NET. The query has a parameter in the literal to the right of a LIKE
operator. Here is my code:
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;
I receive an "Invalid parameter" error. Kindly advise.
Upvotes: 1
Views: 2930
Reputation: 98810
Change your
like '%:cus_name%'
to
like '%' || :cus_name || '%'
The problem is here quotes. In quotes, your rdms will recognize it as a string literal and never sees it as a parameter.
Upvotes: 6