PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
11677 | 00/06/09 16:14:12 | RE(5):PB6.5: SELECTとFROMとWHEREの動的変更なんて出来るのでしょうか? By noki |
11638 | 00/06/08 10:59:45 | RE(4):PB6.5: SELECTとFROMとWHEREの動的変更なんて出来るのでしょうか? By こてちゅ |
11637 | 00/06/08 10:34:38 | RE(3):PB6.5: SELECTとFROMとWHEREの動的変更なんて出来るのでしょうか? By noki |
11631 | 00/06/07 20:03:27 | RE(2):PB6.5: SELECTとFROMとWHEREの動的変更なんて出来るのでしょうか? By M.M |
11619 | 00/06/07 12:41:29 | RE(1):PB6.5: SELECTとFROMとWHEREの動的変更なんて出来るのでしょうか? By リエッチ |
11601 | 00/06/06 16:51:20 | PB6.5: SELECTとFROMとWHEREの動的変更なんて出来るのでしょうか? By noki |
カテゴリ:PowerBuilderの開発環境
日付:2000年06月07日 20:03 発信者:M.M
題名:RE(2):PB6.5: SELECTとFROMとWHEREの動的変更なんて出来るのでしょうか?
nokiさん、こんばんは。
>早速で恐縮ですが、どなたか教えて下さい。
>GetSQLSelectで取得したSELECT文で、特定のテーブル名を変えるにはどうしたら良いのでしょうか?
実験君しました。以下のスクリプトを参照してください。
ただし、
A.変更前のテーブルと変更後のテーブルの構造は同じである
B.テーブル名を含むカラム名は存在しない
という前提条件があります。
[テスト環境]
PB:7.0
OS:NT4.0 SP3
DB:Adaptive Server Anywhere 6.0
???????????????????????????????????
//テーブル\"employee\"を、\"employee_100\"に置換します
string sql, sql_org, new_table, old_table, s1, s2
long lRet
sql = dw_1.getSqlSelect()
sql_org = sql
old_table= \"employee\"
new_table= \"employee_100\"
//SQL文の変更
lRet = 1
lRet = pos(sql,old_table,lRet)
do while (lRet>1)
s1 = left(sql,(lRet -1))
s2 = mid (sql,(lRet +len(old_table)))
sql= s1 + new_table + s2
lRet = lRet + len(new_table)
lRet = pos(sql,old_table,lRet)
loop
//データウィンドウのSQL文を書き換えて、検索を実行
dw_1.setSqlSelect(sql)
dw_1.retrieve()
//検索後に元のSQL文に戻す
dw_1.setSqlSelect(sql_org)
???????????????????????????????????
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows98
DBMS Oracle SQL*Net 8
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 8.0
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.