挑错!

yashiro 2003-02-26 02:49:26
package test;
import java.sql.*;

public class JDBCBean {
public JDBCBean() {}

public ResultSet getResult() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn=DriverManager.getConnection("jdbc:odbc:test");
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from goods");
return rs;
}
catch(Exception e) {
System.out.println(e.getMessage());
}
return null;
}
}

这个是本人编写的JavaBean 经过测试,可以连接数据库并取出数据。

<%@ page import="java.sql.*" %>
<jsp:useBean id="db" class="test.JDBCBean" />
<%
ResultSet rs=db.getResult();
while(rs.next()) {
out.println(rs.getString(1)+"------"+rs.getString(2)+"<br>");
}
%>
这个是jsp文件。

出现错误:

java.lang.NullPointerException
at org.apache.jsp.JDBCBean$jsp._jspService(JDBCBean$jsp.java:90)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

谁知道是哪里的错误?
...全文
60 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yashiro 2003-02-26
  • 打赏
  • 举报
回复
救命阿,我以前也写过这样程序,没遇到这样的错误阿。我把程序改了下面的。

package test;
import java.sql.*;

public class JDBCBean {
Connection conn;
public Connection connect() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:test");
}
catch(Exception e) {
System.out.println(e.getMessage());
}
return conn;
}
}

<%@ page import="java.sql.*" %>
<jsp:useBean id="db" class="test.JDBCBean" />

<% Connection cn=db.connect();
Statement st=cn.createStatement();
ResultSet rs=st.executeQuery("select * from goods");
while(rs.next()) {
out.println(rs.getString(1)+"-----"+rs.getString(2)+"<br>");
}
%>
错误还是那样阿,到底是怎么回事阿?
loveis 2003-02-26
  • 打赏
  • 举报
回复
抱歉刚才网页有点问题,没看到你下面的程序,还是把return null;去掉试试看
loveis 2003-02-26
  • 打赏
  • 举报
回复
没有错误
yashiro 2003-02-26
  • 打赏
  • 举报
回复
to:colors(第厘十秒) 怎么每次都得到null呢?
to:sikuan(冰糖★葫芦★头) 我按你说的 把它丢在catch里面去了,错误跟原来一样阿。
sikuan 2003-02-26
  • 打赏
  • 举报
回复
楼长呀,你那句return null 根本就多余,要么你把它丢在catch里面去
colors 2003-02-26
  • 打赏
  • 举报
回复
是不是在出现异常是才return null???
你这样就每次得到null啊
yashiro 2003-02-26
  • 打赏
  • 举报
回复
return null 是getResult()方法的返回值阿,如果连接正确,在return rs 这里就退出程序了 ,如果连接错误才会返回空值的。
sikuan 2003-02-26
  • 打赏
  • 举报
回复
要那个return null做什么,所以你每次得到的ResultSet rs=null

81,094

社区成员

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

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