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