java.lang.String cannot be cast to java.lang.Integer 5
我的代码<%@pagecontentType="text/html;charset=gb2312"%><%@pageimport="java.sql.*"%><style...
我的代码<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<style type="text/css">
<!--
body {
background-image: url(11.jpg);
}
-->
</style><body>
<center><br>
<%
if(session.getAttribute("uname")!=null)
{// 用户已登陆
%>
<%! String DBDRIVER = "sun.jdbc.odbc.JdbcOdbcDriver" ;
String DBURL = "jdbc:odbc:LocalServer" ;
String DBUSER= "sa" ;
String DBPASSWORD= "" ;
Connection conn = null ;
PreparedStatement pstmt = null ;
ResultSet rs= null ;
//HttpSession session = request.getSession();
int id;
%>
<%
//String id1=(String)session.getAttribute("uname") ;
//id=Integer.parseInt(session.getAttribute("uname").toString());
id=(Integer)session.getAttribute("uname");
//id=(int)id1;
String sql = " SELECT num,name,sex,major,indate FROM students WHERE num =?" ;
try{
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
pstmt = conn.prepareStatement(sql) ;
// 设置查询条件
//<%=session.getAttribute("uname")
pstmt.setInt(1,id);
rs = pstmt.executeQuery() ;
%>
<%
if(rs.next())
{// 进行循环打印,打印出所有的内容,以表格形式// 从数据库中取出内容
String id = rs.getString(1) ;
String name = rs.getString(2) ;
String sex = rs.getString(3) ;
String major = rs.getString(4) ;
String indate = rs.getString(5) ;
%>
<form action="" method="post"><table><tr>
<td colspan="2"><center>查询信息显示</center> </td></tr>
<tr><td>学号:</td><td><input type="text" name="num" value="<%=id%>"></td></tr>
<tr><td>姓名:</td><td><input type="text" name="name" value="<%=name%>"></td></tr>
<tr><td>性别:</td><td><input type="text" name="sex" value="<%=sex%>"></td></tr>
<tr><td>专业:</td><td><input type="text" name="major" value="<%=major%>"></td></tr>
<tr><td>入学日期:</td><td><input type="text" name="indate" value="<%=indate%>"></td></tr>
</table>
</form>
<%
}
else{
%>没有发现,要查找的内容!!<br>
请确认要查找的信息是否存在!!<br>
<%
}
%>
<%
rs.close() ;
pstmt.close() ;
conn.close() ;
}
catch(Exception e) {}
%>
<a href="stu_main.jsp">回到功能列表页</a></h3>
<%
}else{// 用户未登陆,提示用户登陆,并跳转
response.setHeader("refresh","2;URL=stu_login.jsp") ;
%>
您还未登陆,请先登陆!!!<br>
两秒后自动跳转到登陆窗口!!!<br>
如果没有跳转,请按<a href="stu_login.jsp">这里</a>!!!<br>
<%
}
%></center></body> 展开
<%@ page import="java.sql.*"%>
<style type="text/css">
<!--
body {
background-image: url(11.jpg);
}
-->
</style><body>
<center><br>
<%
if(session.getAttribute("uname")!=null)
{// 用户已登陆
%>
<%! String DBDRIVER = "sun.jdbc.odbc.JdbcOdbcDriver" ;
String DBURL = "jdbc:odbc:LocalServer" ;
String DBUSER= "sa" ;
String DBPASSWORD= "" ;
Connection conn = null ;
PreparedStatement pstmt = null ;
ResultSet rs= null ;
//HttpSession session = request.getSession();
int id;
%>
<%
//String id1=(String)session.getAttribute("uname") ;
//id=Integer.parseInt(session.getAttribute("uname").toString());
id=(Integer)session.getAttribute("uname");
//id=(int)id1;
String sql = " SELECT num,name,sex,major,indate FROM students WHERE num =?" ;
try{
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
pstmt = conn.prepareStatement(sql) ;
// 设置查询条件
//<%=session.getAttribute("uname")
pstmt.setInt(1,id);
rs = pstmt.executeQuery() ;
%>
<%
if(rs.next())
{// 进行循环打印,打印出所有的内容,以表格形式// 从数据库中取出内容
String id = rs.getString(1) ;
String name = rs.getString(2) ;
String sex = rs.getString(3) ;
String major = rs.getString(4) ;
String indate = rs.getString(5) ;
%>
<form action="" method="post"><table><tr>
<td colspan="2"><center>查询信息显示</center> </td></tr>
<tr><td>学号:</td><td><input type="text" name="num" value="<%=id%>"></td></tr>
<tr><td>姓名:</td><td><input type="text" name="name" value="<%=name%>"></td></tr>
<tr><td>性别:</td><td><input type="text" name="sex" value="<%=sex%>"></td></tr>
<tr><td>专业:</td><td><input type="text" name="major" value="<%=major%>"></td></tr>
<tr><td>入学日期:</td><td><input type="text" name="indate" value="<%=indate%>"></td></tr>
</table>
</form>
<%
}
else{
%>没有发现,要查找的内容!!<br>
请确认要查找的信息是否存在!!<br>
<%
}
%>
<%
rs.close() ;
pstmt.close() ;
conn.close() ;
}
catch(Exception e) {}
%>
<a href="stu_main.jsp">回到功能列表页</a></h3>
<%
}else{// 用户未登陆,提示用户登陆,并跳转
response.setHeader("refresh","2;URL=stu_login.jsp") ;
%>
您还未登陆,请先登陆!!!<br>
两秒后自动跳转到登陆窗口!!!<br>
如果没有跳转,请按<a href="stu_login.jsp">这里</a>!!!<br>
<%
}
%></center></body> 展开
5个回答
展开全部
id=(Integer)session.getAttribute("uname");
你的uname是字符串,怎么能转换成数值呢,就像uname为“aaaa”一样,怎么能把“aaaa”转换成整型的呢
String sql = " SELECT num,name,sex,major,indate FROM students WHERE num =?" ;
从这句看你是按num查询的,但你为什么又去session中取uname呢,
如果你想按用户名查询的话,就要改成这样:
String uname=(String)session.getAttribute("uname") ;
String sql = " SELECT num,name,sex,major,indate FROM students WHERE name =?" ;
pstmt.setString(1,uname);
你的uname是字符串,怎么能转换成数值呢,就像uname为“aaaa”一样,怎么能把“aaaa”转换成整型的呢
String sql = " SELECT num,name,sex,major,indate FROM students WHERE num =?" ;
从这句看你是按num查询的,但你为什么又去session中取uname呢,
如果你想按用户名查询的话,就要改成这样:
String uname=(String)session.getAttribute("uname") ;
String sql = " SELECT num,name,sex,major,indate FROM students WHERE name =?" ;
pstmt.setString(1,uname);
展开全部
估计是:id=(Integer)session.getAttribute("uname");转换有问题
用这个试试:Integer.valueOf(session.getAttribute("uname"));
用这个试试:Integer.valueOf(session.getAttribute("uname"));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
id=(Integer)session.getAttribute("uname"); 应该是这句中请确保uname里边的值没有空格和字母,再是String转换为Integer不是这样的,Integer.valueOf(xxx);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1:你html没有uname
如果不是1说的错,你这个是string不能转化成int类型,Integer.parseInt(str)可以转化~
如果不是1说的错,你这个是string不能转化成int类型,Integer.parseInt(str)可以转化~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
id=(Integer)session.getAttribute("uname");
就是这句了。
就是这句了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询