一.我的存储过程如下:
CREATE PROCEDURE demo_test
@param1 varchar(20),@param2 varchar(20),@param3 varchar(20)
AS
insert into userinfo values(@param1,@param2,@param3)GO
二,调用存储过程的JAVABEAN如下:
package com.jspdev.ch9;
import java.sql.*;
import com.jspdev.util.*;
public class StoreTest
{
Connection cnn;
public StoreTest()
{
this.cnn=Dbconnect.getconnect();//Dbconnect是连接数据库的javabean
}
public void doStore() throws Exception
{
String strsql="{call demo_test(?,?,?)}";
java.sql.CallableStatement smt=cnn.prepareCall(strsql);
smt.setString(1,"handsome");
smt.setString(2,"handsome");
smt.setString(3,"information");
int i=smt.executeUpdate();
}
public int getCount() throws Exception
{
int ret=0;
ResultSet rst=cnn.createStatement().executeQuery("select count(*) from userinfo");
while(rst.next())
{
ret=rst.getInt(1);
}
return ret;
}
}
三。测试存储过程的JSP如下:
<%@ page contentType="text/html; charset=gb2312" %>
<jsp:useBean id="storetest" class="com.jspdev.ch9.StoreTest" scope="page"/>
之前有:<%=storetest.getCount()%>条记录
<%
storetest.doStore();
%>
之后有:<%=storetest.getCount()%>
错误提示为:[microsoft][sqlsever 2000 Drvier for JDBC]object has been closed
可是当我只输入
<%@ page contentType="text/html; charset=gb2312" %>
<jsp:useBean id="storetest" class="com.jspdev.ch9.StoreTest" scope="page"/>
之前有:<%=storetest.getCount()%>条记录,则没有错误,执行成功!请问这是什么
原因呀,谢谢各位了!
CREATE PROCEDURE demo_test
@param1 varchar(20),@param2 varchar(20),@param3 varchar(20)
AS
insert into userinfo values(@param1,@param2,@param3)GO
二,调用存储过程的JAVABEAN如下:
package com.jspdev.ch9;
import java.sql.*;
import com.jspdev.util.*;
public class StoreTest
{
Connection cnn;
public StoreTest()
{
this.cnn=Dbconnect.getconnect();//Dbconnect是连接数据库的javabean
}
public void doStore() throws Exception
{
String strsql="{call demo_test(?,?,?)}";
java.sql.CallableStatement smt=cnn.prepareCall(strsql);
smt.setString(1,"handsome");
smt.setString(2,"handsome");
smt.setString(3,"information");
int i=smt.executeUpdate();
}
public int getCount() throws Exception
{
int ret=0;
ResultSet rst=cnn.createStatement().executeQuery("select count(*) from userinfo");
while(rst.next())
{
ret=rst.getInt(1);
}
return ret;
}
}
三。测试存储过程的JSP如下:
<%@ page contentType="text/html; charset=gb2312" %>
<jsp:useBean id="storetest" class="com.jspdev.ch9.StoreTest" scope="page"/>
之前有:<%=storetest.getCount()%>条记录
<%
storetest.doStore();
%>
之后有:<%=storetest.getCount()%>
错误提示为:[microsoft][sqlsever 2000 Drvier for JDBC]object has been closed
可是当我只输入
<%@ page contentType="text/html; charset=gb2312" %>
<jsp:useBean id="storetest" class="com.jspdev.ch9.StoreTest" scope="page"/>
之前有:<%=storetest.getCount()%>条记录,则没有错误,执行成功!请问这是什么
原因呀,谢谢各位了!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货