如何使用带参数的存储过程创建动态数据窗口

时间:2013-05-28 15:23:11

标签: dynamic powerbuilder datawindow

我的问题是我正在尝试基于带参数的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

2 个答案:

答案 0 :(得分:0)

我不知道你的方式是否可以创建DW。但无论如何,要在Powerbuilder中使用存储过程,您必须首先执行SQL stmt并尝试它是否正确返回选择。我不知道它是否会像我没有尝试那样工作。

要了解如何执行SQLSTMT请尝试此链接http://powerbuilder.hyderabad-colleges.com/Advanced-PowerBuilder-2-15-50.html

了解如何在Powerbuilder中执行SP。

答案 1 :(得分:0)

您的SQL语法必须包含对参数的引用,由名称/值对“col_name =:parameter”表示。我在您发布的示例代码中没有看到任何参数......

我在SQL Anywhere sampleDB中对SP绘制了一个简单的dw,SQLSyntax如下所示:
“执行dba.sp_product_info; 0 prod_id =:prod_id”