PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
2182 | 98/07/01 11:13:53 | RE:動的SQLはここがポイント By Hiko |
2175 | 98/06/30 19:55:44 | 動的SQLはここがポイント By Taka |
2165 | 98/06/30 14:43:09 | RE:RE:RE:RE:PB5.0.03: EXECUTE実行後のSQLCode値について By Hiko |
2162 | 98/06/30 12:03:05 | RE:RE:RE:PB5.0.03: EXECUTE実行後のSQLCode値について By Taka |
2157 | 98/06/30 10:21:54 | RE:RE:PB5.0.03: EXECUTE実行後のSQLCode値について By Hiko |
2146 | 98/06/29 15:37:04 | RE:PB5.0.03: EXECUTE実行後のSQLCode値について By Taka |
2105 | 98/06/26 10:04:53 | PB5.0.03: EXECUTE実行後のSQLCode値について By Hiko |
カテゴリ:旧電子会議室
日付:1998年06月30日 10:21 発信者:Hiko
題名:RE:RE:PB5.0.03: EXECUTE実行後のSQLCode値について
Taka様、いつもありがとうございます。
さっそく、デバッガでおって確認してみたのですが、
どうもうまくいきません。
まだ、他にミスをしているところがあるのでしょうか?
この際、コーディングチェックをお願いできませんか?
Integer li_ret = 777
Any ls_data[10]
String ls_buff,ls_buff2
Long ll_data_cnt, ll_cnt
ll_data_cnt = dw_objname_input.RowCount()
IF ll_data_cnt > 0 THEN
ls_buff = \"(\"
FOR ll_cnt = 1 TO ll_data_cnt - 1
ls_buff = ls_buff + \"?,\"
NEXT
ls_buff = ls_buff + \"?)\"
ELSE
Close(w_syori_msg)
RETURN
END IF
String ls_sqlstatment
// プロシージャ宣言文の作成
ls_sqlstatment = \"EXECUTE \" + is_objname + ls_buff
DECLARE emp_proc DYNAMIC PROCEDURE FOR SQLSA;
PREPARE SQLSA FROM :ls_sqlstatment USING TRORA;
FOR ll_cnt = 1 TO ll_data_cnt - 1
ls_buff2 = ls_buff2 + \":ls_data[\" + String(ll_cnt) + \"], \"
NEXT
ls_buff2 = ls_buff2 + \":ls_data[\" + String(ll_cnt) + \"]\"
FOR ll_cnt = 1 TO ll_data_cnt
ls_data[ll_cnt] = dw_objname_input.GetItemString(ll_cnt, \"as_objname\")
NEXT
// プロシージャの実行
EXECUTE DYNAMIC emp_proc USING :ls_buff2;
IF TRORA.SQLCode <> 0 THEN
MessageBox(\"エラー\",\"プロシージャの実行に失敗しました。\" + TRORA.SQLErrText)
/////// ここで、SQLCodeが100になります。/////////
ELSE
FETCH emp_proc INTO :li_ret;
MessageBox(\"実行結果\", \"プロシージャのリターン値・・・\" + String(li_ret))
END IF
以上です。
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS (記載なし)
DBMS (記載なし)
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.