2013-05-28 36 views
0

我的問題是我想創建一個基於帶參數的SP動態數據窗口。我可以從一個沒有參數的SP動態地創建一個數據窗口,但是用parms我得到這個錯誤 - 「無法獲得過程的參數」如何用參數創建動態數據窗口使用存儲過程

有什麼建議嗎?

我的代碼:

sql_syntax = "execute starsdba.SP_PROVIDER_LIST; as_Sql= From Users" 

presentation_str = "style(type=grid)" 

presentation_str = & 
"style(type=Grid & 
Horizontal_spread = 25 & 
Header_bottom_margin = 15 & 
Header_top_margin = 15) & 
datawindow(units=2 & 
Color= 67108864) & 
column(Font.Face='system' & 
Font.Height=-10 & 
Font.Weight=700) & 
text(Font.Face='system' & 
Font.Height=-10 & 
Font.Weight=700 & 
Border=6)" 

dwsyntax_str = SQLCA.SyntaxFromSQL(sql_syntax, & 
presentation_str, ERRORS) 

IF Len(ERRORS) > 0 THEN 
MessageBox("Caution", & 
"SyntaxFromSQL caused these errors: " + ERRORS) 
RETURN 

END IF 
+0

什麼版本的PB? – NoazDad

回答

0

我不知道,如果用自己的方式將努力打造一個DW。但無論如何,要在Powerbuilder中使用存儲過程,必須首先執行SQL語句,然後嘗試是否會正確返回選擇。我不知道它是否會以這種方式工作,因爲我沒有試過這樣做。

要了解如何執行SQLSTMT嘗試此鏈接http://powerbuilder.hyderabad-colleges.com/Advanced-PowerBuilder-2-15-50.html

來看看如何在PowerBuilder的exectute SP。

+0

正如我前面提到的,我的語法工作時,我沒有使用存儲過程的任何參數,但你知道在執行存儲過程的參數與動態數據窗口的語法 – user2379643

0

您的SQL語法必須包含對參數的引用,由名稱/值對「col_name =:parameter」指示。我沒有看到任何參數,您發佈的示例代碼...

我畫了一個簡單的對DW隨SQL Anywhere SAMPLEDB一個SP和SQLSyntax看起來是這樣的:
「執行dba.sp_product_info; 0 prod_id =:prod_id「

+0

感謝保羅您的建議,但我有這樣的參數傳遞 sql_syntax = 「執行starsdba.SP_PROVIDER_LIST; as_Sql =來自用戶」 這是我如何將它傳遞給一個字符串,我不能使用:因爲我正在傳遞一個變量。 請讓我知道如何做到這一點。 您是否有一種基於存儲過程創建數據窗口的語法,該存儲過程需要參數。 我嘗試以不同的方式發送參數,但我收到語法錯誤。請指教。 – user2379643

相關問題