一.我的存储过程如下:
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()%>条记录,则没有错误,执行成功!请问这是什么
原因呀,谢谢各位了!