我有glassfish v3
我有以下代码
<%@page import="java.io.*;" %>
<%@page import="java.sql.*;" %>
<%
Connection con=null;
ResultSet rst=null;
Statement stmt=null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://localhost:3306/achme_health";
con=DriverManager.getConnection(url,"root","");
stmt=con.createStatement();
rst=stmt.executeQuery("select patient_no,fname,lname from patients");
while(rst.next()){
out.print(rst.getString(0));
out.print(rst.getString(1));
out.print(rst.getString(2));
}
}catch(Exception e){
System.out.println("-1");
System.out.println(e.getMessage());
}
答案 0 :(得分:0)
以下行将抛出一个SQLException
,其中包含“无效列索引”(确切的消息取决于JDBC驱动程序)。
out.print(rst.getString(0));
索引从1开始,而不是0.相应地修复你的代码。
out.print(rst.getString(1));
out.print(rst.getString(2));
out.print(rst.getString(3));
无关,请注意您只是将异常消息打印到日志中(您是否读过它?)而不是抛出整个异常和/或转储整个堆栈跟踪。这对调试没有帮助。我建议修改你糟糕的异常处理方法。此外,Java代码最好放在真正的Java类而不是JSP文件中。