<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.text.DateFormat"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*" %>
<%@ page language="java" %>
<html>
<body>
<%
Connection con = null;
Statement st = null;
ResultSet res = null;
String user = request.getParameter("user");
String atual = request.getParameter("atual");
String nova = request.getParameter("nova");
try
{ Class.forName("org.postgresql.Driver");
con = DriverManager.getConnection
("jdbc:postgresql://localhost:5432/port","root","1234");
st = con.createStatement();
ResultSet rs=st.executeQuery("SELECT usuario,senha FROM recepcao where usuario = '"+user+"'");
while(rs.next()){
String u = rs.getString(1);
String s = rs.getString(2);
if(s.equals(atual) && u.equals(user)){
String update="UPDATE recepcao set senha ='"+nova+"' where usuario = '"+user+"'";
st.executeUpdate(update);
%>
<body bgcolor="#FFFFFF" text="#000000">
<center>
<h3><p><p><p><p><p><div align="center">Alteração de senha realizada com sucesso! </div>
<tr><td><p align="left"><font size="2"><a href="Gerencia.jsp">Voltar ao Menu</a></font></p></td></tr>
<%
}
else{
%>
<body bgcolor="#FFFFFF" text="#000000">
<center>
<h3><p><p><p><p><p><div align="center">Senha atual não confere,<br>volte a tela anterior e repita o processo! </div>
<tr><td><p align="left"><font size="2"><a href="Trocar_Senha.jsp">Voltar</a></font></p></td></tr>
<%
}
con.close();
}}
catch (ClassNotFoundException cnfex)
{ out.println("Não carregou o Driver!");
}
catch (SQLException sqlex)
{ out.println("Erro "+sqlex);
}
%>
<body bgcolor="#FFFFFF" text="#000000">
<center>
</body>
</html>
resultSet fechado
6 Respostas
tem como postar as msgs ae?
Fala rusther, blz?
Geralmente, faço como o seu código (mas não em um JSP, mas isso depende da ocasião :))
Não entendi um negócio…
Na linha 12, você declarou:
ResultSet res = null;
E depois lá na linha 25, você fez:
ResultSet rs=st.executeQuery("SELECT usuario,senha FROM recepcao where usuario = '"+user+"'");
Tenta inicializar o Resulset rs que você criou com null, ou utilize o Resultset res com Statement (ainda não entendi porque dois :))
Se atualizou com sucesso a informação, feche-o (é só uma opinião).
Flw!
A mensagem que aparece é
Alteração de senha realizada com sucesso!
Erro org.postgresql.util.PSQLException: Este ResultSet está fechado.
Fala rusther, blz?Geralmente, faço como o seu código (mas não em um JSP, mas isso depende da ocasião :))
Não entendi um negócio…
Na linha 12, você declarou:ResultSet res = null;E depois lá na linha 25, você fez:
ResultSet rs=st.executeQuery("SELECT usuario,senha FROM recepcao where usuario = '"+user+"'");Tenta inicializar o Resulset rs que você criou com null, ou utilize o Resultset res com Statement (ainda não entendi porque dois :))
Se atualizou com sucesso a informação, feche-o (é só uma opinião).Flw!
Fiz o que voce falou mas embora fazendo a alteração no BD continua aparecendo a msg. A questão é : como fecho o resultSet?
Melhor dizendo como abrir o resultSet e não fechar como havia dito antes.
Amigos consegui resolver o problema.
if(s.equals(atual) && u.equals(user)){
st = con.createStatement(); //Repeti essa linha aqui dentro do if e parou de mostrar a msg.
String update="UPDATE recepcao set senha ='"+nova+"' where usuario = '"+user+"'";
st.executeUpdate(update);
Abraço a todos. 