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,"[email protected]");
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();
 }
%>
却抱错找不到刚才创建的存储过程
但是执行那行语句在查询分析器中是成功的阿
大家帮忙看看,我第一用,非常感谢!