jsp连接数据库时,对rs.next()抛出NullPointerException

来源:互联网 发布:蓝宇原型知乎 编辑:程序博客网 时间:2024/06/07 00:39

做了一个小练习,用jdbc对oracle数据库中的表进行添加修改删除等操作,先用j2se做了一下,可以正常工作,但将代码拷入jsp文件的时候,无法运行.

 

 <%
  Connection conn = null;
  Statement stmt = null;
  ResultSet rs = null;
  String sql =null;
  
 
    try {
    Class.forName("oracle.jdbc.driver.OracleDriver");
    conn = DriverManager.getConnection("jdbc:oracle:thin:@ 10.0.65.149:1521:ora9i", "whmtk", "whmtk");
    stmt = conn.createStatement();
    sql = "select * from whmtk.TS004";
    rs = stmt.executeQuery(sql);
    System.out.println("rs.getString(1)");
    while(rs.next()) {//在此处报错.抛出NullPointerException
    String s1=rs.getString(1);

%>

 

查了好久找不到问题的原因,上网搜索了好久后,终于找到了一个办法,将ojdbc14.jar文件放入tomcat的lib文件夹中,重启tomcat,,即可正常运行.

 

下面是另一个人遇到的问题,也一块列出来吧,我觉得我也有可能犯这个错误哦.

 try {
                ResultSet rs = stat.executeQuery("select * from BbsRecord where id=" + id);
                rs.next();
                sid = rs.getInt("sid");
                ResultSet rss = stat.executeQuery("select * from bbsrecord where sid=" + sid);
                rss.last();
               
                if (rss.getRow() == 1) {
                    if (rs.getInt("root") == 0) {  //错误报告指示的是这里,但我不理解,也找不到原因。
                        stat.execute("update bbsrecord set leaf = 1 where id=" + sid);
.......

 

出错原因:多个ResultSet不能共享同一个Statement。

 

原创粉丝点击