从.net到Oracle的参数化查询

时间:2011-12-11 16:47:00

标签: c# .net oracle

这是我在oracle中的表:

enter image description here

我正在尝试这样做:

  selectCmd = "select * from scott.BONUS where ename like '% :f4  %'";
        var par = cmd.CreateParameter();
        par.DbType = DbType.String;
        par.ParameterName = "f4";
        par.Value = "fsd";
        cmd.Parameters.Add(par);

        cmd.CommandText = selectCmd;
        con.Open();

我的问题是'喜欢'之后的部分..我已经尝试了许多没有成功的事情。 在一些尝试中,读者回来了空,而在其他尝试中,一个例外被抛出。

1 个答案:

答案 0 :(得分:1)

那就是寻找含有字符序列 space,冒号,f,4 的东西。你的意思是:

like '%' || :f4 || '%'

(编辑以反映Stephen ODonnell的更正,评论)

或更容易;只需使用

like :f4

并将%放入值:

par.Value = "%" + "fsd" + "%";

(为方便起见,假设“fsd”需要是真实代码中的变量或类似物)