jsp从数据库中取数出现错误~~
<%@page import ="java.sql.*"%>
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
<html>
<body>
<%
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver");
Connection con =null;
con=DriverManager.getConnection("jdbc:odbc:sum","","");
Statement smt =con.createStatement();
String id=new String(request.getParameter("user1").getBytes("ISO-8895-1"));
String sql ="select *from xuesheng where id='" +id +"'";
ResultSet rs=smt.executeQuery(sql);
while(rs.next())
{
out.println("<tr><td>"+rs.getString(1)+"</td><td>"+rs.getString(2)+"</td><td>"+rs.getString(3)+"</td></tr>");
}
%>
</body>
</html>
数据库连接没问题就是取数的时候说 String id=new String(request.getParameter("user1").getBytes("ISO-8895-1"));不对!求高手解答
注:sum是数据库名,xuesheng是表名,user1是首页文本框的名字;用的是sql数据库,求高手解答~~
[解决办法]
int id = Integer.parseInt(request.getParameter("id")
[解决办法]
lz没有按照楼上的要求改,还有两个问题
第一,你传过来的user1参数 是不是数字?
第二,你数据库里面的id是不是数字类型
如果是数字类型,那么你改成下面的代码试试,看看什么结果再讨论
<%@page import ="java.sql.*"%><%@ page language="java" import="java.util.*;" pageEncoding="GB2312"%><html> <body> <% Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver"); Connection con =null; con=DriverManager.getConnection("jdbc:odbc:sum","",""); Statement smt =con.createStatement(); String id=(String)session.getAttribute("user1"); int ID=0; try{ ID=Integer.parseInt(id); }catch(Exception e){ e.printStackTrace(); } String sql ="select *from xuesheng where id='" +ID +"'"; ResultSet rs=smt.executeQuery(sql); if(rs==null){ out.println("未查到任何满足条件数据"); } while(rs.next()) { String nu =rs.getString(1); String na= rs.getString(2); String bj=rs.getString(3); out.println("nu"); out.println("na"); out.println("bj"); } %></body></html>