0

我有一个查询:

    <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>

而且,我想要

其中名称0 =?sql:param value="blahblahblah" />

成为类似的东西

'%' = 哪里?sql:param value="blahblahblah" />

因为,我想要:

     ? <sql:param value="blahblahblah" /> 

接受用户输入的任何内容(我知道,我知道....)....

因为,我希望用户在输入任何列中包含的部分/全部内容时获得结果

可以/我如何做某事代替

柱子

这将意味着

任何列

???

4

1 回答 1

1

不,你不能那样做。准备好的语句包括将参数化语句传递给数据库,以便它准备查询的执行计划,以便稍后执行。为了能够准备执行计划,数据库需要知道列名,因为计划依赖于它们(例如,按名称选择会使用名称上的索引,但按年龄选择则不会)。

于 2013-05-10T21:22:13.273 回答