PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
9931 00/01/19 19:17:53 RE(3):PB6: UpDate関数がうまくいきません By Taka
9930 00/01/19 19:04:39 RE(2):PB6: UpDate関数がうまくいきません By katsuo
9927 00/01/19 17:32:14 RE(1):PB6: UpDate関数がうまくいきません By こてちゅ
9926 00/01/19 16:58:51 PB6: UpDate関数がうまくいきません By katsuo

カテゴリ:データウィンドウ
日付:2000年01月19日 19:17 発信者:Taka
題名:RE(3):PB6: UpDate関数がうまくいきません

katsuoさん、こんばんは。

>ImportFileまではうまくいくのですが、UpDateのときSQLCA.SQLNRows=0でうまくいきません。

コントロール側のUpdateEndイベントの引数3つを合計して判定するようにします。


【以下補足】
データウィンドウでは、Retrieve関数,Update関数などの直後にSQLCA.プロパティを見ても値は入っていません。
このプロパティは「直前に実行した埋め込みSQL(CONNECT/DISCONNECT/COMMIT/ROLLBACK含む)」の結果が温存されて
いる仕様になっており、データウィンドウの関数の結果は反映されないんです。
ナゼこんな仕様かは不明ですが、昔からそうでした。 (^^;

よく、
rtn = dw_1.Retrieve()
if rtn = -1 then
 MessageBox( \"ERROR\", \"検索に失敗しました。\" + SQLCA.SQLErrText )
end if
とやってしまう方が多いですが、このようなケースでは戻り値が-1でもそのエラー内容は SQLCA.SQLErrText では
見ることはできません。コントロールのDBErrorイベントの引数を使いましょう。(Update関数も同様です)

例えば、

(1) *** 埋め込みSQLでの処理 ***
(2) if SQLCA.SQLCode <> 0 then MessageBox( .. ,SQLCA.SQLErrText )
(3) dw_1.Retrieve()
(4) if SQLCA.SQLCode <> 0 then MessageBox( .. ,SQLCA.SQLErrText )

のような場合、
 (1)の処理でエラー発生
 (2)でエラー内容を表示
 (3)の検索は正常終了
 (4)でも(2)のエラー内容が表示される!
といった動きになります。SQLNRowsでも同じ事が言えます。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

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

Server SoftWare

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

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