PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
21953 05/05/09 17:00:18 RE(5):PB6.5: LIKE演算子の記述の仕方 By ミュウ
21951 05/05/09 16:37:34 RE(4):PB6.5: LIKE演算子の記述の仕方 By Cherry_Sunburst
21950 05/05/09 10:11:56 RE(3):PB6.5: LIKE演算子の記述の仕方 By ミュウ
21949 05/05/09 09:06:17 RE(2):PB6.5: LIKE演算子の記述の仕方 By ミュウ
21947 05/05/07 10:45:48 RE(1):PB6.5: LIKE演算子の記述の仕方 By ace
21946 05/05/06 15:57:07 PB6.5: LIKE演算子の記述の仕方 By ミュウ

カテゴリ:データウィンドウ
日付:2005年05月09日 16:37 発信者:Cherry_Sunburst
題名:RE(4):PB6.5: LIKE演算子の記述の仕方

ミュウさん、こんにちは。

>えーと、いくつか分かったことがあります。とりあえずエラーメッセージは:nameと:ka を’’でくくる
>と消えました。こんな感じで\':name\'。
>しかし今度はRetrieveしても動かなくなってしまいました(TT)
>どうも引数がダメみたいです。スクリプトで書くと引数って使えないのでしょうか?
>それとも指定の仕方が間違っているのでしょうか?

上記方法だと、:name、:kaという文字の検索になってしまうのでは?
引数ではなく、基本的なSQL構文の記述からして、\'%:name%\'や、\'%:ka%\'になってしまっているんだと思います。

今回、SQL文を文字列として設定するのだから、
引数にこだわらず、
SQL文を文字列として生成する時点で、
引数の個所に値を入れた状態のSQL文を作れば良いのではないのでしょうか?

つまり・・・

Name = \"ABC\"
KA   = \"DEF\"
new_sql = \"SELECT USRMST.USRID, USRMST.USRNAME,KAMST.KANAME, USRMST.BIKO, USRMST.KACD\" & 
    + \"FROM  KAMST, USRMST\"& 
    + \"WHERE  (KAMST.KACD = USRMST.KACD ) AND \" &
    + \"    ((USRMST.USRNAME like \'%\" + Name + \"%\') AND \"&
    + \"    (KAMST.KACD like \'%\" + KA + \"%\' ))\"

とします。
初めの考え方でも、Retrieveする前に引数の値をどこかで取得するんですよね?
(そうでなければRetrieve出来ませんよね)
引数の値を設定するタイミングが少し早くなる事と、
Retrieve時に引数が一切無くなる事が変化するだけで、
やりたい事は実現出来るのでは無いでしょうか?

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS その他
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.