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
4

2 回答 2

0

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

要查看如何执行 SQLSTMT 试试这个链接http://powerbuilder.hyderabad-colleges.com/Advanced-PowerBuilder-2-15-50.html

了解如何在 Powerbuilder 中执行 SP。

于 2013-05-28T16:06:56.893 回答
0

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

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

于 2013-05-28T19:30:16.287 回答