大家帮忙解决一个存储过程的问题,创建成功却测试时找不到

zhxailxq 2008-05-22 02:41:53
use jspdev;
go
create procedure demo_procedure @inparaml varchar(20), @inparam2 int, @inparam3 varchar(20), @inparam4 varchar(50), @inparam5 datetime,
@inparam6 varchar(100) as insert into contact(userName,mobile,phont,mail,lastcontact,mem)values
(@inparaml,@inparam2,@inparam3,@inparam4,@inparam5,@inparam6)
在SQL2000的查询分析器中执行上述语句创建存储过程demo_procedure
在StoreTest类中调用这个存储过程
package com.jspdev.ch13;

import com.jspdev.util.*;

import java.sql.*;
//如何调用存储过程
public class StoreTest
{
Connection conn ;
public StoreTest()throws Exception
{
conn=DatabaseConn.getConnection();
}
public void doStore()throws Exception
{
//创建一个可以滚动的只读的SQL语句对象
String strSQL = "{call demo_procedure(?,?,?,?,?,?)}";
java.sql.CallableStatement sqlStmt = conn.prepareCall(strSQL);
//设置输入参数
sqlStmt.setString(1,"asiapower2");
sqlStmt.setInt(2,013655555);
sqlStmt.setString(3,"01034534534");
sqlStmt.setString(4,"cyq@sdf.com");
sqlStmt.setDate(5,new java.sql.Date(new java.util.Date().getTime()));
sqlStmt.setString(6,"test");
//执行存储过程
int i= sqlStmt.executeUpdate();
//==========开始另一个存储过程==//
sqlStmt.setString(1,"hellking");
sqlStmt.setInt(2,013655555);
sqlStmt.setString(3,"01034534534");
sqlStmt.executeUpdate();
sqlStmt.close();
conn.close();
}
/**
* 获得数据库中记录总数
*/
public int getDataBaseCount()throws Exception
{
int ret=0;
ResultSet rst=conn.createStatement().executeQuery("select count(*) from contact");
while(rst.next()){
ret=rst.getInt(1);
}
return ret;

}
}
在storetest.jsp测试
<%@ page contentType="text/html; charset=gb2312" %>
<jsp:useBean id="storetest" class="com.jspdev.ch13.StoreTest" scope="page"/>
<%
try
{
storetest.doStore();
out.println("sucess!");
}
catch(Exception e)
{
out.println(e);
e.printStackTrace();
}
%>
却抱错找不到刚才创建的存储过程
但是执行那行语句在查询分析器中是成功的阿
大家帮忙看看,我第一用,非常感谢!
...全文
160 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gj_wrxz 2008-05-22
  • 打赏
  • 举报
回复
创建到哪个数据库里面去了,刷新看看,把报的错误 用户是同一个用户吗
gj_wrxz 2008-05-22
  • 打赏
  • 举报
回复
创建到哪个数据库里面去了,刷新看看,把报的错误 用户是同一个用户吗
yingtju 2008-05-22
  • 打赏
  • 举报
回复
创建过程 和执行过程的是同一个用户吗?
老紫竹 2008-05-22
  • 打赏
  • 举报
回复
我怀疑你连错的数据库!
kokobox 2008-05-22
  • 打赏
  • 举报
回复
可能是你java.sql.CallableStatement sqlStmt = conn.prepareCall(strSQL);

编译得到一次而操作两次

//==========开始另一个存储过程==// 的时候再创建一个CallableStatement 试一试,然后再执行。
interpb 2008-05-22
  • 打赏
  • 举报
回复
看看你的具体出错信息

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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