| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 819 人关注过本帖
标题:[求助]存储过程的调用.
取消只看楼主 加入收藏
shithanwa
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-1-30
收藏
 问题点数:0 回复次数:4 
[求助]存储过程的调用.

关于存储过程的疑问????


比如说:有一个学生成绩表(t_score),它有如下字段:学号(stu_id),课程号(cour_id),课程名(cour_name),成绩(score);
现在要通过一个已知的学生学号,删除对应的学生成绩信息.问题是如何写一个存储过程( 学号是由前台输入的),以便JAVA程序调用此过程,删除对应记录?我写的过程出现如下错误:(Warning: Procedure created with compilation errors),不知道where后面怎么写?
请多指教!

搜索更多相关主题的帖子: 过程 存储 调用 
2007-04-19 20:25
shithanwa
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-1-30
收藏
得分:0 

sql脚本:
create table T_TB0606609_score(
stu_id varchar2(20),
cour_id varchar2(20),
cour_name varchar2(20),
score varchar2(20),
constraint p_score primary key(cour_id)
);

create or replace procedure p_del_score(
stu_id varchar2,
cour_id varchar2,
cour_name varchar2,
score varchar2,
)
is
begin
delete from T_TB0606609_score where p_stu_id=stu_id;
commit;
end p_del_score;

JAVA调用:
public void delScore(String studentId) {
conn = DBHelper.getConnection();
sql = "{call p_del_score(?)}";
try {
cstmt = conn.prepareCall(sql);
cstmt.setString(1, studentID);
cstmt.executeUpdate();

System.out.println("增加数据成功");
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} finally {
try {
if (conn != null)
conn.close();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}
谢谢指教!


明骚易躲,暗贱难防
2007-04-20 10:53
shithanwa
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-1-30
收藏
得分:0 
大哥帮我看看啊!

明骚易躲,暗贱难防
2007-04-24 20:28
shithanwa
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-1-30
收藏
得分:0 

哦,存储过程中变量没区分开.应该是这样的吧:
sql脚本:
create table T_TB0606609_score(
stu_id varchar2(20),
cour_id varchar2(20),
cour_name varchar2(20),
score varchar2(20),
constraint p_score primary key(cour_id)
);

create or replace procedure p_del_score(
p_stu_id varchar2,
p_cour_id varchar2,
p_cour_name varchar2,
p_score varchar2
)
is
begin
delete from T_TB0606609_score where stu_id=p_stu_id;
commit;
end p_del_score;


明骚易躲,暗贱难防
2007-05-09 00:29
shithanwa
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-1-30
收藏
得分:0 
是的传多了没用的参数,但参数还是会匹配的.
"{call p_del_score(?)}"的参数是SQL句中的.

说的就是要调用存储过程,当然不用存储过程都会了;最要人头痛的查询的存储过程.

明骚易躲,暗贱难防
2007-05-10 13:59
快速回复:[求助]存储过程的调用.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028810 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved