Java Web

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date" %>
<%@page import="java.sql.*" %>

<%!
    Connection conexao = null;
    Statement instrucao = null;
    ResultSet resultado = null;
    
    Date datacad;
    SimpleDateFormat dataFormatada = new SimpleDateFormat("dd-MM-yyyy");
    
    int estado;
    String codigo, nome, numeroapto, complemento, rg, cpf, telfixo, telcel, email, sexo, obs;
%>

<!DOCTYPE html>

<%
    try{
        Class.forName("org.postgresql.Driver");
        conexao = DriverManager.getConnection("jdbc:postgresql://localhost:5432/portaria", "postgres", "fabi2020");
        instrucao = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
        
        codigo = request.getParameter("codigo");
         if (codigo == null){
             codigo= "0";
         }
        
       resultado = instrucao.executeQuery("SELECT * FROM morador WHERE codigo " + codigo);
       
       if(resultado.next()){
           nome = resultado.getString("nome");
           numeroapto= resultado.getString("numeroapto");
           complemento = resultado.getString("complemento");
           estado = resultado.getInt("estado");
           rg = resultado.getString("rg");
           cpf = resultado.getString("cpf");
           telfixo = resultado.getString("telfixo");
           telcel = resultado.getString("telcel");
           email = resultado.getString("email");
           sexo = resultado.getString("sexo");
           datacad = resultado.getDate("datacad");
           obs = resultado.getString("obs");
       }
        
%>

<html>
    <head>
        <script language="javascript" src="util/funcoes.js" ></script>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Cadastro de Moradores</title>
    </head>
    <body>
        <p align="center">
            <b>Sistema de Cadastro de Moradores</b><br>
            <font style="color: dodgerblue" >Cadastrar novo Morador</font>
        </p>
        <form name="formCadastrar" method="post" action="moradores.jsp?acao=alterar" > 
            <p>
               Codigo.:
               <input type="text" name="codigo" value="<%= codigo %>" disabled="true"/>
               Data de Cadastro.: (dd-MM-aaaa)
               <input type="text" name="datatela" value="<%= dataFormatada.format(datacad) %>" size="10" maxlength="10"/>
               <input type="hidden" name="datacad" value="<%= dataFormatada.format(datacad) %>" /> 
            </p>
            <p>
                Nome.:
               <input type="text" name="nome" size="40" maxlength="40" value="<%= nome %>" />
            </p>
            <p>
                Numero do Apartamento.:
                <input type="text" name="numeroapto" size="4" maxlength="4" value="<%= numeroapto %>"/>
                Complemento.:
                <input type="text" name="complemento" size="10" maxlength="10" value="<%= complemento %>"/>
            </p>
            <p>
                Estado.:
                <select name="estado">
                    <%
                        ResultSet resultadoEstado = instrucao.executeQuery("SELECT * FROM estado ORDER BY nome");
                        
                        if (resultadoEstado != null){
                            while (resultadoEstado.next()){
                                int codigo = resultadoEstado.getInt("codigo");
                    %>
                    <option value="<%= codigo%>"<% if(estado==codigo) out.print("selected='selected'");%>>
                        <%= resultadoEstado.getString("nome")%>
                    </option>
                    <%
                            }
                        }
                        if (resultadoEstado != null){
                        resultadoEstado.close();
                        }
                    %>
                </select>                
            </p>
            <p>
               RG.:
               <input type="text" name="rg" size="18" maxlength="18" value="<%= rg %>"/> -
               CPF.:
               <input type="text" name="cpf" size="14" maxlength="14"
                      onkeypress="mascaraCampo(this, '###.###.###-##');
                                 return somenteNumero(event);"
                      />
            </p>
            <p>
               Telefone Fixo.: (xx-xxxx-xxxx)
               <input type="text" name="telfixo" size="12" maxlength="12"
                      onkeypress="mascaraCampo(this, '##-####-####');
                                 return somenteNumero(event);"
                      /> -
               Telefone Celular.: (xx-Xxxx-xxxx)
               <input type="text" name="telcel" size="13" maxlength="13"
                      onkeypress="mascaraCampo(this, '##-#####-####');
                                 return somenteNumero(event);"
                      />
            </p>
            <p>
               E-mail.:
               <input type="text" name="email" size="50" maxlength="50" value="<%= email %>"/> 
            </p>
            <p>
                Sexo.:
                <input type="radio" name="sexo" id="sexo_M" value="M" 
                       <% if(sexo.equals("M"))out.print("checked='checked'"); %>
                /> Masculino 
                <input type="radio" name="sexo" id="sexo_F" value="F"
                       <% if(sexo.equals("F"))out.print("checked='checked'"); %>
                /> Feminino
            </p>
            <p>
               Obs.:
               <input type="text" name="obs" size="50" maxlength="50" value="<%= obs %>"/>
            </p>
            <p>
                <input type="submit" name="btAlterar" value="Alterar" />
            </p>
        </form>
        <p align="center" ><b>copyright @ 2021 - Portaria</b></p>
    </body>
</html>

<%
    }catch (ClassNotFoundException ce) {
       out.println("Não foi possível encontrar o driver PostegreSQL! " + ce);
    }catch (SQLException se) {
       out.println("Erro ao trabalha com o banco de dados! " + se);
    }finally{
       if(resultado != null){
          resultado.close();
       }
       if(instrucao != null){
          instrucao.close();
       }
       if(conexao != null){
          conexao.close();
       }
    }
%>

eu fiz esse código no alterar mais ele esta dando esse erro:
Erro ao trabalha com o banco de dados! org.postgresql.util.PSQLException: ERROR: syntax error at or near "1"Posição: 36

Como eu posso resolver isso ?? Algúem pode me dá uma dica?

Ficou faltando um = no where:

"SELECT * FROM morador WHERE codigo = " + codigo
                                    ^

Lucas obrigada pela dica ajudou muito

1 curtida