我有一个问题:
<sql:query var="result" dataSource="jdbc/XXXX"> Select top 1000 max(IP),max(mail0),etc,etc,etc,etc,etc from PCOwners inner join user on PCOwners.ID = user.Name0 inner join wol on PCOwners.namename = mach where Name0 = ? <sql:param value="blahblahblah" /> group by Name0 order by Name0 desc </sql:query>
而且,我想要
其中Name0 =? sql:param value =“blahblahblah”/&gt;
就像是
其中'%'=? sql:param value =“blahblahblah”/&gt;
因为,我想要:
? <sql:param value="blahblahblah" />
接受用户输入的任何内容(我知道,我知道....)....
因为如果用户输入任何列中包含的部分/全部内容,我希望用户获得结果
可以/我如何取代
柱
这意味着
任何专栏
??????
答案 0 :(得分:1)
不,你不能这样做。准备好的语句包括将参数化语句传递给数据库,以便它准备查询的执行计划,以便稍后执行。为了能够准备执行计划,数据库需要知道列名,因为计划依赖于它们(例如,按名称选择将使用名称上的索引,但不会选择年龄)。