Variable sqlRst may not have been initialized这是什么错啊

huflcy 2002-12-19 08:18:01
出现在打开jsp网页的时候,偶尔报出的下面的错误,而且一报就是一大堆
An error occurred between lines: 119 and 242 in the jsp file: /.../case.jsp

Generated servlet error:
Standalone/localhost/.../case$jsp.java:447: Variable sqlRst may not have been initialized.

环境是tomcat 4.0.4
SunOS 5.7
Oracle 8i
jdk1_2_2
连接是用jconn2.jar
sqlRst是一个数据集

各位有什么可以帮我的,谢谢
...全文
117 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
huflcy 2003-04-16
  • 打赏
  • 举报
回复
好久没来了
竟然有贴子没结
顺手把它结了吧
不管结果如何
gjdbf 2002-12-27
  • 打赏
  • 举报
回复
是啊,把代码贴出来看看
zxhong 2002-12-27
  • 打赏
  • 举报
回复
你不贴代码
怎能有满意的结果
huflcy 2002-12-27
  • 打赏
  • 举报
回复
没有满意的结果,我如何结帖?
fwork 2002-12-21
  • 打赏
  • 举报
回复
帮你up吧
gjdbf 2002-12-20
  • 打赏
  • 举报
回复
可能是sqlRst有时没有取到任何数据这样sqlRst就等于null了,在后面的程序里你可能什么地方没有判断sqlRst.next();就直接用sqlRst.getString()了
,好好检查一下看看
zhx_232 2002-12-20
  • 打赏
  • 举报
回复
Variable sqlRst may not have been initialized.
说你的sqlRst变量没有定义?!
是不是出错的情况,是你用了判断语句,跳过了定义sqlRst这一段了?
huflcy 2002-12-20
  • 打赏
  • 举报
回复
我比较的错误时和正确时的.java,两者大小一样,用ultraedit比较,没有差别,因此看.java没有用,这会是什么错误,配置有问题?
huflcy 2002-12-20
  • 打赏
  • 举报
回复
to gjdbf(痛哭的人)
这也不应该是编译错误,而是运行时的错误
而且我加了try的
但我会认真看看代码的,有没有你所说的问题
huflcy 2002-12-19
  • 打赏
  • 举报
回复
我加了,在定义的时候都加了 =null;
wks9527 2002-12-19
  • 打赏
  • 举报
回复
在tomcat的目录下找到这个文件case$jsp.java,看看是jsp的哪段代码翻译过来后出错
sykoala 2002-12-19
  • 打赏
  • 举报
回复
程序贴出来看看呀
huflcy 2002-12-19
  • 打赏
  • 举报
回复
每次碰到这问题,我就重起tomcat,然后就看不见这错误了
但我不知道什么时候,这问题又会出来了,用户就很不满意了,我也不满意,但我真的没有一点办法
sykoala 2002-12-19
  • 打赏
  • 举报
回复
Resultset sqlRst=null;
<%-- 作者:何志强[hhzqq@21cn.com] 日期:2000-08-03 版本:1.0 功能:JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle --%> <%@ page contentType="text/html;charset=8859_1" %> <% //变量声明 java.sql.Connection sqlCon; //数据库连接对象 java.sql.Statement sqlStmt; //SQL语句对象 java.sql.ResultSet sqlRst; //结果集对象 java.lang.String strCon; //数据库连接字符串 java.lang.String strSQL; //SQL语句 int intPageSize; //一页显示的记录数 int intRowCount; //记录总数 int intPageCount; //总页数 int intPage; //待显示页码 java.lang.String strPage; int i; //设置一页显示的记录数 intPageSize = 2; //取得待显示页码 strPage = request.getParameter("page"); if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据 intPage = 1; } else{//将字符串转换成整型 intPage = java.lang.Integer.parseInt(strPage); if(intPage<1) intPage = 1; } //装载JDBC驱动程序 java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); //设置数据库连接字符串 strCon = "jdbc:oracle:thin:@linux:1521:ora4cweb"; //连接数据库 sqlCon = java.sql.DriverManager.getConnection(strCon,"hzq","hzq"); //创建一个可以滚动的只读的SQL语句对象 sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); //准备SQL语句 strSQL = "select name,age from test"; //执行SQL语句并获取结果集 sqlRst = sqlStmt.executeQuery(strSQL); //获取记录总数 sqlRst.last(); intRowCount = sqlRst.getRow(); //记算总页数 intPageCount = (intRowCount+intPageSize-1) / intPageSize; //调整待显示的页码 if(intPage>intPageCount) intPage = intPageCount; %> JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle <% if(intPageCount>0){ //将记录指针定位到待显示页的第一条记录上 sqlRst.absolute((intPage-1) * intPageSize + 1); //显示数据 i = 0; while(isqlRst.isAfterLast()){ %> <% sqlRst.next(); i++; } } %>
姓名 年龄
<%=sqlRst.getString(1)%> <%=sqlRst.getString(2)%>
第<%=intPage%>页 共<%=intPageCount%>页 <%if(intPage
下一页<%}%> <%if(intPage>1){%>上一页<%}%> <% //关闭结果集 sqlRst.close(); //关闭SQL语句对象 sqlStmt.close(); //关闭数据库 sqlCon.close(); %>
JSP分页查询实例代码 <%request.setCharacterEncoding("GBK");%> <%@ page contentType="text/html; charset=gb2312" %> <%@ page import="java.sql.*"%> <%@ page import="java.util.*"%> <%@ page import="java.lang.*"%> <HTML> <HEAD> <title>分页显示例子</title> <META http-equiv="Content-Type" content="text/html; charset=gb2312"> </HEAD> [removed] function newwin(url) { var newwin = window.open(url,"newwin","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=600,height=450"); newwin.focus(); return false; } [removed] [removed] function submit10() { self.location.replace("fenye.jsp") } [removed] <% //变量声明 java.sql.Connection sqlCon; //数据库连接对象 java.sql.Statement sqlStmt; //SQL语句对象 java.sql.ResultSet sqlRst; //结果集对象 java.lang.String strCon; //数据库连接字符串 java.lang.String strSQL; //SQL语句 int intPageSize; //一页显示的记录数 int intRowCount; //记录总数 int intPageCount; //总页数 int intPage; //待显示页码 java.lang.String strPage; int i; //设置一页显示的记录数 intPageSize = 10; //取得待显示页码 strPage = request.getParameter("page"); if (strPage == null) {//表明在QueryString中没有page这一个参数,此时显示第一页数据 intPage = 1; } else {//将字符串转换成整型 intPage = java.lang.Integer.parseInt(strPage); if (intPage < 1) intPage = 1; } //装载JDBC驱动程序 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //设置数据库连接字符串 strCon = "jdbc:sqlserver://127.0.0.1;databaseName=Northwind"; //连接数据库 sqlCon = java.sql.DriverManager.getConnection(strCon, "sa", ""); //创建一个可以滚动的只读的SQL语句对象 sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE, java.sql.ResultSet.CONCUR_READ_ONLY);//准备SQL语句 strSQL = "select * from Orders"; //执行SQL语句并获取结果集 sqlRst = sqlStmt.executeQuery(strSQL); //获取记录总数 sqlRst.last();//??光标在最后一行 intRowCount = sqlRst.getRow();//获得当前行号 //记算总页数 intPageCount = (intRowCount + intPageSize - 1) / intPageSize; //调整待显示的页码 if (intPage > intPageCount) intPage = intPageCount; %> <body> <form method="POST" action=""> 第<%=intPage%>页 共<%=intPageCount%>页 <% if (intPage < intPageCount) { %> 下一页 <% } %> <% if (intPage > 1) { %> 上一页 <% } %> 转到第:<input type="text" name="page" size="8"> 页 <input type="submit" value="GO" name="cndok"> </form> <% if (intPageCount > 0) { //将记录指针定位到待显示页的第一条记录上 sqlRst.absolute((intPage - 1) * intPageSize + 1); //显示数据 i = 0; String CustomerID, EmployeeID; while (i < intPageSize && !sqlRst.isAfterLast()) { CustomerID = sqlRst.getString(1); EmployeeID = sqlRst.getString(2); %> <% sqlRst.next(); i++; } } %>
<%=CustomerID%> <%=EmployeeID%>
</body> </html> <% //关闭结果集 sqlRst.close(); //关闭SQL语句对象 sqlStmt.close(); //关闭数据库 sqlCon.close(); %>
自己收集的jsp分页代码。对于北大青鸟Y2的学员可能有用吧。自己也在做这个项目。这里有增、删、该、查加分页。有上一页、下一页、首页、尾页、第几页、还有带数字和点的分页。可以说是非常好的分页代码。想要的朋友自己处下载 <%@ page contentType="text/html; charset=GB2312" language="java" import="java.sql.*" errorPage="" %> <%@ page import="java.io.*" %> <%@ page import="java.util.*" %> <% java.sql.Connection sqlCon; //数据库连接对象 java.sql.Statement sqlStmt; //SQL语句对象 ResultSet sqlRst=null; //java.sql.ResultSet sqlRst; //结果集对象 java.lang.String strCon; //数据库连接字符串 java.lang.String strSQL; //SQL语句 int intPageSize; //一页显示的记录数 int intRowCount; //记录总数 int intPageCount; //总页数 int intPage; //待显示页码 java.lang.String strPage; int i; //设置一页显示的记录数 intPageSize = 2; //取得待显示页码 strPage = request.getParameter("page"); if(strPage==null){ //表明在QueryString中没有page这一个参数,此时显示第一页数据 intPage = 1; } else{ //将字符串转换成整型 intPage = java.lang.Integer.parseInt(strPage); if(intPage<1) intPage = 1; } %><% String DBUser="sa"; String DBPassword="88029712"; //String DBServer="127.0.0.1"zjprice; String DBUrl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; //创建语句对象 //Class.forName("org.gjt.mm.mysql.Driver").newInstance(); Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); sqlCon=java.sql.DriverManager.getConnection(DBUrl,DBUser,DBPassword); sqlStmt=sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); //执行SQL语句并获取结果集 String sql=null; String search=""; String ToPage=request.getParameter("ToPage"); if(request.getParameter("search")!=null &&!request.getParameter("search").equals("")) {search=new String(request.getParameter("search").trim().getBytes("8859_1")); } sql="select top 50 au_id,au_lname from authors "; /*sql="select*from ta,tb where id like'%"+search+"%'"; sql=sql+"or title like'%"+search+"%'"; sql=sql+"or time like'%"+search+"%'"; sql=sql+"or con like'%"+search+"%'"; sql=sql+"order by id";*/ sqlRst=sqlStmt.executeQuery(sql); //获取记录总数 sqlRst.last(); intRowCount = sqlRst.getRow(); //记算总页数 intPageCount = (intRowCount+intPageSize-1) / intPageSize; //调整待显示的页码 if(intPage>intPageCount) intPage = intPageCount; %> test <% if(intPageCount>0) { //将记录指针定位到待显示页的第一条记录上 sqlRst.absolute((intPage-1) * intPageSize + 1); //显示数据 i = 0; while(isqlRst.isAfterLast()){ %> <% sqlRst.next(); i++; } } %>
标题id 内容表
<%=sqlRst.getString(1)%> <%=sqlRst.getString(2)%>
共有<%= intRowCount %>条记录 当前<%=intPage%>/<%=intPageCount%>页  <% if(intPageCount > 1){ %> <% if(intPage !=0){%> 首页 <%}if(intPage != 1){%>上一页 <%}if(intPage下一页<%}%> 尾页 <% } %>跳转到 页 <%int m,n,p; %> <%if (intPage>1){ if(intPage-2>0){ m=intPage-2;} else { m=1;} if(intPage+2 转到页码: [ <% for(p=m;p<=n;p++) { if (intPage==p){ %> <%=p %> <% } else{%> >[<%=p %>] <% } }%>]<%} %>
<% //关闭结果集 sqlRst.close(); //关闭SQL语句对象 sqlStmt.close(); //关闭数据库 sqlCon.close(); %>

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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