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();
}
%>
却抱错找不到刚才创建的存储过程
但是执行那行语句在查询分析器中是成功的阿
大家帮忙看看,我第一用,非常感谢!
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();
}
%>
却抱错找不到刚才创建的存储过程
但是执行那行语句在查询分析器中是成功的阿
大家帮忙看看,我第一用,非常感谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货