jsp调用存储过程问一个小而我不明白的问题!见貼

sunatteda 2004-11-22 12:07:11
我要做jsp调用存储过程 这个存储过程中in out 代表什么意思?谢谢解答
存储过程声明如下:
CREATE PROCEDURE aa(
in id varchar(8),
in nd varchar(16),
out Cntr integer,
out NoArtl integer)
LANGUAGE SQL
...全文
138 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jFresH_MaN 2004-11-22
  • 打赏
  • 举报
回复
in是传递进去的参数
out是查询后输出的结果变量
wtadminxjeri 2004-11-22
  • 打赏
  • 举报
回复
如果有返回值要输出

CallableStatement cstmt=conn.prepareCall("{?=call aa(?,?,?,?)}");
cstmt.registerOutParameter(1,java.sql.Types.INTEGER);//设置返回值
....
....
....
cstmt.registerOutParameter(5,java.sql.Types.INTEGER);//设置输出参数,这里为什么是5?
//因为仔细看看便知道了,是第五个参数(数数一共5个参数,(包括返回参数))
...........
...........//执行的语句不写了
System.out.println(cstmt.getInt(4));//输出参数值
System.out.println(cstmt.getInt(1));//返回参数值




sunatteda 2004-11-22
  • 打赏
  • 举报
回复
存储过程声明如下:
CREATE PROCEDURE aa(
in id varchar(8),
in nd varchar(16),
out Cntr integer,
out NoArtl integer)
LANGUAGE SQL
begin
declare intRtnVal integer;
........
return intRtnVal;
END P1
我该怎样返回我的intRtnVal 值!
sunatteda 2004-11-22
  • 打赏
  • 举报
回复
cstmt.registerOutParameter(4,java.sql.Types.INTEGER
这个参数的地方为什么要选择4,
刚才写错了

sunatteda 2004-11-22
  • 打赏
  • 举报
回复
cstmt.registerOutParameter(4,java.sql.Types.INTEGER
这个参数的地方要选择4,
wtadminxjeri 2004-11-22
  • 打赏
  • 举报
回复
什么意思?要得到输出参数的值?
CallableStatement cstmt=conn.prepareCall("{call sp2(?,?,?,?)}");
cstmt.registerOutParameter(4,java.sql.Types.INTEGER);//设置返回值

//执行
.............
..........
System.out.println(cstmt.getInt(4));//输出参数值
sunatteda 2004-11-22
  • 打赏
  • 举报
回复
接着再问一问题:
out是查询后输出的结果变量
那在java中调用完后 out NoArtl integer
NoArtl变量是否还要指定一下呢?
int a = NoArtl 呢?

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧