我的要求是传递动态值,我只是暂时对值进行了硬编码,任何人都可以帮忙。预先感谢。(db2数据库)
从学生那里选择sname,其中sname喜欢('%abc123%');
它正在按预期方式选择值。但是我只是在DSS中对其进行了硬编码,如何动态传递它?
答案 0 :(得分:0)
以下示例服务
<data name="dssTest" transports="http https local">
<config enableOData="false" id="TestDB">
<property name="driverClassName">...</property>
<property name="url">...</property>
<property name="username">...</property>
<property name="password">...</property>
</config>
<query id="testQuery" useConfig="TestDB">
<sql>Select sname from student where sname like CONCAT('%', :whereclause, '%')</sql>
<result element="StudentData" rowName="Student">
<element column="snumber" name="snumber" optional="true" xsdType="string"/>
<element column="sname" name="sname" optional="true" xsdType="string"/>
</result>
<param name="whereclause" sqlType="QUERY_STRING"/>
</query>
<operation name="testQueryOp">
<call-query href="testQuery">
<with-param name="whereclause" query-param="whereclause"/>
</call-query>
</operation>
</data>
调用此服务时,可以为where子句发送一个值。
<body>
<p:testQueryOp xmlns:p="http://ws.wso2.org/dataservice">
<p:whereclause>abc123</p:whereclause>
</p:testQueryOp>
</body>