PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
2283 | 98/07/08 14:51:05 | PowerSoftからの回答(マニュアルの記載ミスということで納得) By Hanafusa |
2277 | 98/07/08 10:33:57 | 追加情報 By Taka |
2259 | 98/07/07 09:54:18 | Update関数を実行してもSQLCAには値が返されません By てとらぽっと |
2240 | 98/07/03 20:42:25 | PB5.0.03: Update関数実行後のSQLCA.sqlnrowsの値について By Hanafusa |
カテゴリ:旧電子会議室
日付:1998年07月07日 09:54 発信者:てとらぽっと
題名:Update関数を実行してもSQLCAには値が返されません
Hanafusaさん、おはようございます。
こちら(PB5.0.02&Oracle7.1)でもその現象は確認しています。
自分でSQL構文を発行したときは、ちゃんと更新行数/削除行数が SQLCA.SQLNRows に格納されています。
Update関数ではこの値が返らず、COMMIT後には更新行数/削除行数とは関係なく COMMITが成功した何らかの
情報が返っているようです。
Update関数は戻り値だけで正否判定すればいいと思いますので、SQLCA.SQLNRows は重要視していません。
(更新が 0行とかに関わらず、成功なら COMMITでいいわけですから)
ちなみに Update関数(あるいはPBの関数?)実行後には SQLCA には何の値も格納されません。
COMMITはSQL構文なので SQLCA はちゃんと返ってます。
>UPDATE関数を実行した後で、SQLCA.sqlnrowsの値を確認して更新された行数を
>確認し、正常に更新されていればCOMMIT、そうでなければROLLBACKをするような
>スクリプトを記述してみたのですが、SQLCA.sqlnrowsの値が入るタイミングがUPDATE
>関数の直後ではなく、COMMIT後に値が設定されているようです。
>オンラインマニュアル等のサンプルを見る限りでは、Update後にはSQLCA.sqlnrowsに
>値が入るようなサンプルがあります。
>
>(例)
>rtn = dw_1.Update()
>IF rtn = 1 AND SQLCA.sqlnrows > 0 THEN
> COMMIT USING SQLCA;
>ELSE
> ROLLBACK USING SQLCA;
>END IF
>
>SQLCA.sqlnrowsの使用方法について詳しくご存知の方がいらしたら
>教えて頂けませんか?
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows 3.1
DBMS Oracle SQL*Net 1.0
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS Oracle 7.2
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.