データベース コントロールで "WHERE... LIKE" 句を使用するには

リテラル(引用符内の文字列)内の中括弧({})は無視されます。このため、次のような文は期待通りに機能しません。

/**
 * @jws:sql statement::
 *     SELECT name
 *     FROM employees
 *     WHERE content LIKE '%{partialName}%'
 * ::
 */
public String[] partialNameSearch(String partialName);

リテラル文字列内の中括弧は無視されるので、partialName Java 文字列は SELECT 文に代入されません。この問題を回避するには、次に示すとおり、JWS ファイル内の一致文字列をあらかじめフォーマットしてからデータベース コントロールを起動します。

String partialNameToMatch = "%" + matchString + "%"
String [] names = myDBControl.partialNameSeach(partialNameToMatch);

データベース コントロール メソッドでの置換パラメータの詳細については、@jws:sql 文におけるパラメータの置換を参照してください。

関連トピック

データベース コントロール : Web サービスからデータベースを使用する