在执行数据库修改时,修改那一条语句为什么不执行,已用红字标出.还有一点,我建数据库时用的编码方式是GB2312,但为什么只有用ISO8859-1的编码方式才能从数据库中进行查询
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<html><body bgcolor=pink><font>
<head>
<title>用户密码修改</title>
</head>
<center>
<h1>实验室设备管理系统</h1>
<font=4>----密码修改----</font>
</center>
<br>
<table>
<tr>
<td width="50"><A href="exit.jsp">退出</A></td>
</table><%
//接收表单中提交的值
String uname=new String(request.getParameter("uname").getBytes("ISO8859-1"));
String oldp=new String(request.getParameter("oldp").getBytes("ISO8859-1"));
String newp=new String (request.getParameter("newp").getBytes("ISO8859-1"));
String newpp=new String (request.getParameter("newpp").getBytes("ISO8859-1"));
%><%try
{
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/device","root","123456");
Statement stmt=conn.createStatement();
String sql="select uweb from user where uname='"+uname+"' and upassword='"+oldp+"'";
ResultSet rs=stmt.executeQuery(sql);
if(rs.next())
{
if (newp.equals(newpp)==true)
{ //如果有记录,执行修改
sql="update user set upassword='"+newp+"' where uname='"+uname+"'";
out.println("修改成功,");
out.println("你的新密码是");
%><table><td><%=newp%></td></table><%
out.println(",");
out.println("请保管好你的密码方便下次登录!");
}
else
{
out.println("你输入的新密码两次不相同,请返回重新操作");
%> <A href="chpwd.jsp">返回</A><%
}
}
else
{
out.println("你的输入有误,不能修改");
%>
<% }
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
out.println(e);
}
%>
</font></body></html>
<%@page contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*"%>
<html><body bgcolor=pink><font>
<head>
<title>用户密码修改</title>
</head>
<center>
<h1>实验室设备管理系统</h1>
<font=4>----密码修改----</font>
</center>
<br>
<table>
<tr>
<td width="50"><A href="exit.jsp">退出</A></td>
</table><%
//接收表单中提交的值
String uname=new String(request.getParameter("uname").getBytes("ISO8859-1"));
String oldp=new String(request.getParameter("oldp").getBytes("ISO8859-1"));
String newp=new String (request.getParameter("newp").getBytes("ISO8859-1"));
String newpp=new String (request.getParameter("newpp").getBytes("ISO8859-1"));
%><%try
{
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/device","root","123456");
Statement stmt=conn.createStatement();
String sql="select uweb from user where uname='"+uname+"' and upassword='"+oldp+"'";
ResultSet rs=stmt.executeQuery(sql);
if(rs.next())
{
if (newp.equals(newpp)==true)
{ //如果有记录,执行修改
sql="update user set upassword='"+newp+"' where uname='"+uname+"'";
out.println("修改成功,");
out.println("你的新密码是");
%><table><td><%=newp%></td></table><%
out.println(",");
out.println("请保管好你的密码方便下次登录!");
}
else
{
out.println("你输入的新密码两次不相同,请返回重新操作");
%> <A href="chpwd.jsp">返回</A><%
}
}
else
{
out.println("你的输入有误,不能修改");
%>
<% }
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
out.println(e);
}
%>
</font></body></html>
解决方案 »
- 急求!关于JSP项目的图片存储和读取的问题?
- jsp 连接 mssql2000,着急啊!
- struts2中用session遇到的一点问题~
- 奇怪啊.JSP是否有有目录层限制?
- 在wsad里运行jsp时出现异常,请问如何解决呢?
- 不知这算不算怪问题,100求助,给点思路也给分
- String msg = request.getParameter("msg"); <td><%=msg%></td>乱码问题??!!
- Sql語
- 100分寻求最优化的连接oracle的java程序,请给我讲出理由,我是初学者,在做项目时不想让连接oracle影响我的程序性能
- Stuts2和Hibernate整合时出现java.lang.NoSuchMethodError: antlr.collections.AST.getLine
- 公司的网站发布不到英特网上去?
- Hibernate query ??????
只有赋值的sql语句,没有执行吧……
stmt=conn.prepareStatement(sql);
stmt.execute();
Statement stmt2=conn.createStatement();
stmt2.executeUpdate(sql);
stmt2.close();也不能像楼上写的用prepareStatement,因为根本没有参数。