像oracle数据库的sql数据源中的条件

时间:2015-01-30 16:39:55

标签: asp.net vb.net oracle

我有一个sqldatasource用于从oracle数据库查询数据的网格。一切正常,花花公子,直到我遇到一个问题与where子句与"喜欢"条件。下面是我想传递给数据源的命令。

ssql = "select * from table1 where lastname like upper('%' || :last_name || '%')"
sqldatasource.selectparameters.add("last_name","test")

但无论我做什么都会一直说无效的变量名称/号码。有谁可以帮助我吗?感谢

1 个答案:

答案 0 :(得分:0)

您可以在代码中执行某些操作以逃避%,但您可以通过将sql语句更改为使用chr(37)而不是'%'来避免此问题。 E.g:

select * from dual
where 'ABXD' like chr(37)||'X'||chr(37);

(我会对代码进行大量评论,以明确为什么你这样做,如果你最终选择了这条路线的话!)