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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.