关于jsp中数据库的问题 你写 catch 的习惯不好,建议把ex的完整堆栈信息打印出来,类似:} catch(SQLException ex){ ex.printStackTrace(); out.println("数据表操作失败");} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 while(result.next()){ out.println("<TR>"); out.println("<Td>"+result.getInt(1)+"</Td>"); out.println("<Td>"+result.getString(2)+"</Td>"); out.println("<Td>"+result.getString(3)+"</Td>"); out.println("</TR>"); out.println("数据表操作失败"); }这里有问题,ResultSet接口的getString(int)方法的int参数不是指数据表所有字段当中的 第几列,而是数据表当中是String对应的所有String字段当中的第几列,所以getString(3)会出错,因为你只有2列是string的字段,改为while(result.next()){ out.println("<TR>"); out.println("<Td>"+result.getInt(1)+"</Td>"); out.println("<Td>"+result.getString(1)+"</Td>"); out.println("<Td>"+result.getString(2)+"</Td>"); out.println("</TR>"); out.println("数据表操作失败"); }试试 发现一个很奇怪的事情:while(result.next()){ out.println("<TR>"); out.println("<Td>"+result.getInt(1)+"</Td>"); out.println("<Td>"+result.getString(2)+"</Td>"); out.println("<Td>"+result.getString(3)+"</Td>"); out.println("</TR>"); out.println("数据表操作失败"); // 你为什么要在循环里面输出“数据表操作失败”?!} 我刚刚居然没发现……while(result.next()){ out.println("<TR>"); out.println("<Td>"+result.getInt(1)+"</Td>"); out.println("<Td>"+result.getString(1)+"</Td>"); out.println("<Td>"+result.getString(2)+"</Td>"); out.println("</TR>"); } 修改好了: while(result.next()){ out.println("<Tr>"); out.println("<Td>"+result.getInt(1)+"</Td>"); out.println("<Td>"+result.getString(1)+"</Td>"); out.println("<Td>"+result.getString(2)+"</Td>"); out.println("</Tr>"); }不过还是同样的错误,我就晕了。 catch(SQLException ex){ out.println("数据表操作失败"); }改为catch(Exception ex){ out.println("数据表操作失败"); System.out.println(ex.printStackTrace();); }然后去tomcat或应用服务器的控制台看看打印的异常信息具体是什么 hibernate函数查询问题 Jboss-Seam框架 请问有基于java的电子商务网站吗 空指针? 一个超难题,请高手指教 Struts路径问题 莫名其妙的css链接错误 表单中怎样传递<select>标签中的数据 ---求教 求大神帮忙!!! idea上springframework相关注解import都报错求帮助 控制div不可被点击问题 新增的表单元素含onblur事件ie为什么不执行?
out.println("<TR>");
out.println("<Td>"+result.getInt(1)+"</Td>");
out.println("<Td>"+result.getString(2)+"</Td>");
out.println("<Td>"+result.getString(3)+"</Td>");
out.println("</TR>");
out.println("数据表操作失败");
}
这里有问题,ResultSet接口的getString(int)方法的int参数不是指数据表所有字段当中的 第几列,而是数据表当中是String对应的所有String字段当中的第几列,所以getString(3)会出错,因为你只有2列是string的字段,改为while(result.next()){
out.println("<TR>");
out.println("<Td>"+result.getInt(1)+"</Td>");
out.println("<Td>"+result.getString(1)+"</Td>");
out.println("<Td>"+result.getString(2)+"</Td>");
out.println("</TR>");
out.println("数据表操作失败");
}
试试
while(result.next()){
out.println("<TR>");
out.println("<Td>"+result.getInt(1)+"</Td>");
out.println("<Td>"+result.getString(2)+"</Td>");
out.println("<Td>"+result.getString(3)+"</Td>");
out.println("</TR>");
out.println("数据表操作失败"); // 你为什么要在循环里面输出“数据表操作失败”?!
}
out.println("<TR>");
out.println("<Td>"+result.getInt(1)+"</Td>");
out.println("<Td>"+result.getString(1)+"</Td>");
out.println("<Td>"+result.getString(2)+"</Td>");
out.println("</TR>");
}
while(result.next()){
out.println("<Tr>");
out.println("<Td>"+result.getInt(1)+"</Td>");
out.println("<Td>"+result.getString(1)+"</Td>");
out.println("<Td>"+result.getString(2)+"</Td>");
out.println("</Tr>");
}
不过还是同样的错误,我就晕了。
catch(SQLException ex){
out.println("数据表操作失败");
}改为catch(Exception ex){
out.println("数据表操作失败");
System.out.println(ex.printStackTrace();
);
}然后去tomcat或应用服务器的控制台看看打印的异常信息具体是什么