PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
579 99/03/15 16:57:07 RE(3):SELECT文のWHERE句の動的変更 By コジマット
578 99/03/12 15:32:12 RE(2):SELECT文のWHERE句の動的変更 By まこと
577 99/03/12 14:39:02 RE(1):SELECT文のWHERE句の動的変更 By M.M
576 99/03/12 13:38:53 SELECT文のWHERE句の変更方法 By かがみ

カテゴリ:その他
日付:1999年03月12日 15:32 発信者:まこと
題名:RE(2):SELECT文のWHERE句の動的変更

>「かがみ」さん、こんにちは。

>>データウィンドウのSELECT文のWHERE句を変更するには皆さんどうしますか?
>>とりあえず、自分の知っている方法を二つあげます。
>>まず、Modify関数で変更する方法。この方法はModify関数のヘルプにある通り
>>編集したSELECT文をModify関数により再セットして、WHERE句を変更します。
>>
>>string rc, mod_string
>>mod_string = \"DataWindow.Table.Select=\'\"&
>> + original_select + where_clause+ \"\'\"
>>rc = dw_emp. Modify(mod_string)
>>IF rc = \"\" THEN
>> dw_emp.Retrieve( )
>>ELSE
>> MessageBox(\"Status\", \"Modify Failed\" + rc)
>>END IF
>>
>>もう一つの方法として、SetSQLPreview関数を使用する方法。これもModify関数
>>と同様に編集したSELECT文を再セットして、WHERE句を変更します。
>>
>>dw_1. SetSQLPreview(original_select + \"WHERE emp_no >= \'100\'\")
>>
>>
>>この二つの方法のうち、どちらを使用するべきでしょうか。また、他にも方法が
>>あるのでしょうか。教えて下さい。

>どちらでもOKですよ?。結局、データウィンドウオブジェクトのSQL文の定義を変更
>しているという点では同じですので。
>私は、SetSQLPreview関数の方が記述がシンプルで好きです。
>Oracle接続時にModify関数を使用すると、ティルダ(~)を山のように記述する必要があります。

SetSQLSelectという手もありますね。
SetSQLSelectはSELECT文限定で、SetSQLPreviewはinsert文が書けるようですね。
(dwにinsert文を設定した後、どのような処理をscriptに書いたら良いのかって事が、例題に
 書いてありませんが・・)
modifyは、各種の設定変更が同じ関数でできるというメリットが・・

ん? これまでmodifyでやってましたけど、select文の変更に関してはティルダ(~)の件があるの
で、SetSQLSelectを使おうと思ってます。



付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

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

Server SoftWare

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

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