データベース コントロールで "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 文におけるパラメータの置換を参照してください。