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