質問

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.

役に立ちましたか?

解決

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.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top