PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
10981 00/04/07 16:51:32 RE(2):PB6.5: datawindow.Filter()実行時に不正な処理で強制終了 By n_yagi
10977 00/04/07 16:00:48 RE(1):PB6.5: datawindow.Filter()実行時に不正な処理で強制終了 By こてちゅ
10971 00/04/07 14:10:25 PB6.5: datawindow.Filter()実行時に不正な処理で強制終了 By n_yagi

カテゴリ:PowerBuilderの不具合?
日付:2000年04月07日 14:10 発信者:n_yagi
題名:PB6.5: datawindow.Filter()実行時に不正な処理で強制終了

データウィンドウのフィルタ条件に、特定の値を設定すると、不正処理で強制終了してしまいます。

   ソース:
   // データウィンドウ dw_1 にカラム col(文字列型)があるとする
   dw_1.SetFilter(\"col like \'%%\'\")
   dw_1.Filter()    // ←この実行直後、強制終了してしまう

   エラー内容:
   PB60J のページ違反です。
   モジュール : PBDWE60J.DLL、アドレス : 0157:1153c63e

like 条件に対して、\'%\'が複数並んでいると発生します。
ちなみに、フィルタ条件ではなく、データウィンドウの検索引数として条件を指定する
(SELECT ... FROM ... WHERE (col like :arg_col))ようにした場合には、 
\'%%\' を指定しても問題なく動作しました。

これは、Filter()関数のバグなのでしょうか?
それとも、このように\'%\'を複数並べたものを条件として指定すること自体がナンセンスなのでしょうか?

実際のシステムでは、表示条件をユーザの手入力とし、あいまい条件も指定できることが
望ましいため、\'%\'および\'_\'も入力できるようにしています。
入力された文字列に対して、\'%\'が複数並んでいるものがあったら\'%\'1つに置換する、
などの例外的な処理をするしかないのでしょうか?

どなたか、情報をお持ちの方がいらっしゃいましたら、お教えください。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

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

Server SoftWare

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

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