导航
  • 主页
  • API 调用
  • 基础类
  • 控件与界面
  • 数据库相关
  • DataWindow
  • 项目管理
  • Web 应用
  • 脚本语言

请教,动态执行存储过程?

pbj 2002-12-29 10:29:22
我有多个存储过程,输入、输出参数都相同,就是名字不同。
我想将这些存储过程名字存入表中,然后在前台动态的调用,不知怎么写

string t_date='200212'
integer li_rtn
long i

for i=1 to rowcout(dw_1)
declare sp_out procedure for '存储过程名' @t_date= :t_date,@i=:li_rtn output;

//执行存储过程
execute sp_out;
fetch sp_out into :li_rtn;
if sqlca.sqlcode=0 then
messagebox("提示窗口","ok")
else
messagebox("提示窗口","failure")
end if
close sp_out;
end for
...全文
7 点赞 收藏 3
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pbj 2002-12-31
我希望的是能用变量代替存储过程名如:
string usp
usp="存储过程名"
declare sp_out procedure for usp @t_date= :t_date,@i=:li_rtn output;
而不是在pb端重新定义存储过程语句,再动态执行。
请各位帮帮忙!
回复
shuyf2000 2002-12-31
用动态SQL语句。语法一般PB书上都有的。
回复
dotnba 2002-12-29
Example 3 These statements perform the same processing as the preceding example but use a database stored procedure called Emp_select:

// The syntax of emp_select is:

// "SELECT emp_id

// FROM employee WHERE emp_state=@stateparm".

DECLARE my_proc DYNAMIC PROCEDURE FOR SQLSA ;

integer Emp_id_var

string Emp_state_var

PREPARE SQLSA FROM "emp_select @stateparm=?" ;

Emp_state_var = "MA"

EXECUTE DYNAMIC my_proc USING :Emp_state_var ;

FETCH my_proc INTO :Emp_id_var ;

CLOSE my_proc ;
回复
发动态
发帖子
PowerBuilder
创建于2007-09-28

805

社区成员

PowerBuilder 相关问题讨论
申请成为版主
社区公告
暂无公告