PREPARE SQLSA FROM :s2 ;
OPEN DYNAMIC my_cursor;
FETCH my_cursor INTO :s_tday,:d_mclose,:int_rcount ;
CLOSE my_cursor ;
s3= " select tday,mclose from t" +s1+ " where tday = '" +s_tday +"' and mclose = 1";
//測驗將s3="select 1 from table where 1=2",sqlcode仍然回傳0,太郁悶了,100去哪兒了呢
execute immediate :s3;
messagebox("delete table",sqlca.sqlcode);
if sqlca.sqlcode <> 100 then //這里總是回傳0
測驗將S3中的表名字改成沒有的,sqlcode回傳-1
除此之外,只要陳述句能通過,回傳的都是sqlcode=0,讓人郁悶
請教大俠幫助
我想測驗出sqlcode=100的情況,謝謝
uj5u.com熱心網友回復:
execute immediate是用來執行沒有回傳結果集的陳述句的,結果只有成功和失敗吧,應該不會出現其他結果uj5u.com熱心網友回復:
sqlcode = 0 是 execute immediate :s3;是這句話執行成功了,不表示有結果uj5u.com熱心網友回復:
動態sql里的sqlcode回傳的是執行成功,如果需要判斷是否有資料,可以用sqlnrows試試
uj5u.com熱心網友回復:
同意樓上的意見。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/41747.html
標籤:基礎類
上一篇:PB9 決議 XML檔案是亂碼?
下一篇:替代pb的有好用的推薦么?
