Errors compiling RepositorioSQL

[color=“red”]RepositorioSQL.java [57:1] variable iCorreto might not have been initialized
return iCorreto;
^
1 error
Errors compiling RepositorioSQL.[/color]

PRECISO QUE O METODO RETORNE UM TRUE/FALSE

public boolean inserirUsuario(String strCodigo, String strLogin,String strSenha, String strNome,String strEmail) throws java.sql.SQLException
{
boolean iCorreto;
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(“insert into logins(l_codigo,l_login,l_senha,l_nome,l_emal) values (’”+strCodigo+"’,’"+strLogin+"’,’"+strSenha+"’,’"+strNome+"’,’"+strEmail+"’)" );
rs.next();
st.close();
rs.close();
return iCorreto;
}

public boolean inserirUsuario…

{
boolean iCorreto;


iCorreto = rs.next();
st.close();
rs.close();
return iCorreto;

O seu codigo não funciona da maneira que vc espera, ou seja, não insere os dados no banco. Para saber como fazer corretamente veja esse exemplo da javaalmanc: http://www.javaalmanac.com/egs/java.sql/Insert.html

Ler a doc de java.sql.Statement é util tambem:
http://java.sun.com/j2se/1.4.2/docs/api/java/sql/Statement.html

Até.

[quote=“paulo.f.nhaia”]public boolean inserirUsuario…

{
boolean iCorreto;


iCorreto = rs.next();
st.close();
rs.close();
return iCorreto;[/quote]

Acho que falta inicializar o boolean (por ser uma variavel local) - coloque um:

iCorreto = true;

antes do return e veja se funciona.

Marcio Kuchma

Putz, agora que eu vi a alteracao que voce fez (inicializar boolean). Faca um executeUpdate ao inves de executeQuery. O executeQuery retorna um ResultSet, enquanto o executeUpdate retorna um int - verifique se o valor desse int eh adequado e entao retorne um boolean de acordo. Claro, como recomendou o colega, de uma olhada na API pra sacar a diferenca entre executeUpdate e executeQuery. :slight_smile:

Marcio Kuchma