Alterar dados em um banco de dados

Não consigo criar uma estrutura de métodos para alterar dados em um banco de dados.

Criei dessa maneira abaixo, mas tenho certeza que há muita coisa errada, mas não consigo achar o problema:

[code] private Conexao conexao = null;

conexao = new Conexao();

}

public void altera(int codigo, String nome, int idade) throws Exception{
Connection con = null;
PreparedStatement ps = null;

try{
con = conexao.getConnection();

ps = con.prepareStatement(“insert into cliente_java values(?, ?, ?, sysdate)”);
ps.setInt(1, codigo);
ps.setString(2, nome);
ps.setInt(3, idade);
int retorno = ps.executeUpdate();
if(retorno <= 0){
throw new SQLException(“Nao foi possivel inserir”);
}
System.out.println("Inseriu codigo “+codigo+”,nome "+nome+“e idade”+idade);
}catch(SQLException se){
System.out.println("Cadastro: "+se.getMessage());
throw new Exception (se);
}finally{
try{
if(ps != null)ps.close();
if(con != null)con.close();
}catch(Exception e){
System.out.println(“Erro ao fechar conexoes”);

}

}
} [/code]

gabriel.coelho blz

olha só cara , eu to meio corrido aqui e não deu muito tempo de olhar seu código , mais to te passando um aqui que serve par o que vc quer ele funciona perfeitamente , vc só tem que mudar ele pra sua necessidade , mais qualquer coisa me de um toque aqui

[code]//metodo para atualizar os dados de registro dos produtos
public boolean atualizarDados(int cod,Long codbarras,String descricao,float custo ,float porcentagem , String discriminacao,
float valor) throws ClassNotFoundException, SQLException{

    Statement sql = conexao.createStatement();
    int inseriu = sql.executeUpdate(&quot;UPDATE produto SET codbarras_produto = &quot; + codbarras + &quot;,&quot; +
            &quot;descricao_produto = '&quot; + descricao + &quot;',custo_produto = &quot; + custo + &quot;, porcganho_produto = &quot; + porcentagem + &quot;,&quot; +
            &quot;pesounidade_produto = '&quot; + discriminacao + &quot;',valor_produto = &quot; + valor + &quot; where cod_produto = &quot;+ cod);
    
    if(inseriu &gt 0){
        return true;
    }else{
        return false;
    }
}[/code]

espero ter ajudado

2 Dicas não trabalhe orientado a Strings:

public boolean atualizarDados(int cod,Long codbarras,String descricao,float custo ,float porcentagem , String discriminacao,
             float valor)

//prefira passar um bean, onde vc seta os valores antes de chamar o método.

public boolean atualizarDados(Obj obj){
//capture os valores via obj.getCod()...
}

E mantenha a uso do PreparedStament.

A dica do Pedrosa é boa, mas qual erro vc. está recebendo?

Cara…mto obrigado…me ajudou mto…é que sou iniciante ainda!!!

Se não for mta folga minha…queria pedir uma ajuda a vc sobre como mostrar dentro dos meus textbox os valores q desejo consultar…pois consigo apenas mostrar os valores dentro do PROMPT.
Ai segue minha codificação se precisar:

public void mostra(int codigo)throws Exception{

	Connection con = null;
	Statement ps = null;
	ResultSet rs = null;

	try{
		con = conexao.getConnection();
		ps = con.createStatement();


		String sql = "select * from cliente_java where codigo = "+codigo;

		rs = ps.executeQuery(sql);

		while(rs.next()){
			System.out.println("codigo = "+rs.getInt(1));
			System.out.println("nome = "+rs.getString(2));
			System.out.println("idade = "+rs.getInt(3));
		}

	}catch(SQLException se){
		System.out.println("Cadastro:"+se.getMessage());
		throw new Exception(se);
	}finally{
		try{
			if(ps!=null) ps.close();
			if(con!=null) con.close();
		}catch(Exception e){
			System.out.println(
				"Erro ao fechar conexoes");
		}
	}

}

Espero que possa me ajudar!!!

Muito agradecido!!!

Gabriel