Ajuda transformar setText em setInteger

esse for input string: “” é por que ta passando uma String vazia…

sera que ele da esse erro pq nao foi possivel consultador os dados antes de poder alterar, ou excluir ?, no caso do erro “column ‘nome’ not fou” ?

Sempre que você for alterar você tem que consultar. Mesma coisa pro excluir…

entao o erro ‘nome’ not found deve estar impedindo isso, vou ver se consigo encontrar o erro e solucionar

o erro se encontra na classe DAO

[code]
public boolean consultar (Produto produto)throws Exception{
String sql = “SELECT * FROM produto WHERE codigo = ?”;
Connection conn = ConnectionFactory.getConnection();
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setInt(1, produto.getCodigo());
//armazena o resultado da query
ResultSet rs = stmt.executeQuery();
boolean produtoFoiEncontrado = rs.next();

    if (produtoFoiEncontrado == true){
        int codigo_fornecedor = rs.getInt("codigo_fornecedor");
        produto.setCodigo_fornecedor(codigo_fornecedor);
        String nome_produto = rs.getString("Nome");        // aponta que essa coluna nao esta sendo encontrada
        produto.setNome_produto(nome_produto);
        int quantidade_estoque = rs.getInt("Quantidade");
        produto.setQuantidade_estoque(quantidade_estoque);
        Double valor_custo = rs.getDouble ("Valor Custo");
        produto.setValor_custo(valor_custo);
         Double valor_venda = rs.getDouble ("Valor Venda");
        produto.setValor_venda(valor_venda);
    }
    rs.close();
    stmt.close();
    ConnectionFactory.closeConnection(conn);
    if (produtoFoiEncontrado == true)
        return true;
    else
        return false;
}[/code]

Faça assim:

[code]public boolean consultar (int codigo)throws Exception{
String sql = "SELECT * FROM produto WHERE codigo = " + codigo;
Connection conn = ConnectionFactory.getConnection();
PreparedStatement stmt = conn.prepareStatement(sql);

//armazena o resultado da query  
ResultSet rs = stmt.executeQuery();  

rs.next();  

    int codigo_fornecedor = rs.getInt("codigo_fornecedor");  
    produto.setCodigo_fornecedor(codigo_fornecedor);  
    String nome_produto = rs.getString("Nome");  
    produto.setNome_produto(nome_produto);  
    int quantidade_estoque = rs.getInt("Quantidade");  
    produto.setQuantidade_estoque(quantidade_estoque);  
    Double valor_custo = rs.getDouble ("Valor Custo");  
    produto.setValor_custo(valor_custo);  
     Double valor_venda = rs.getDouble ("Valor Venda");  
    produto.setValor_venda(valor_venda);  

rs.close();  
stmt.close();  
ConnectionFactory.closeConnection(conn);  
if (produtoFoiEncontrado == true)  
    return true;  
else  
    return false;  

} [/code]

Na hora de chamar esse método passa a variavel codigo que o usuário digitou no input. Lembre-se, na hora que você dar um rs.getString ou qualquer outro get… você tem que passar como parâmetro o nome idêntico a coluna que está no banco de dados…

[quote=Matheus terra]Faça assim:

[code]public boolean consultar (int codigo)throws Exception{
String sql = "SELECT * FROM produto WHERE codigo = " + codigo;
Connection conn = ConnectionFactory.getConnection();
PreparedStatement stmt = conn.prepareStatement(sql);

//armazena o resultado da query  
ResultSet rs = stmt.executeQuery();  

rs.next();  

    int codigo_fornecedor = rs.getInt("codigo_fornecedor");  
    produto.setCodigo_fornecedor(codigo_fornecedor);  
    String nome_produto = rs.getString("Nome");  
    produto.setNome_produto(nome_produto);  
    int quantidade_estoque = rs.getInt("Quantidade");  
    produto.setQuantidade_estoque(quantidade_estoque);  
    Double valor_custo = rs.getDouble ("Valor Custo");  
    produto.setValor_custo(valor_custo);  
     Double valor_venda = rs.getDouble ("Valor Venda");  
    produto.setValor_venda(valor_venda);  

rs.close();  
stmt.close();  
ConnectionFactory.closeConnection(conn);  
if (produtoFoiEncontrado == true)  
    return true;  
else  
    return false;  

} [/code]

Na hora de chamar esse método passa a variavel codigo que o usuário digitou no input. Lembre-se, na hora que você dar um rs.getString ou qualquer outro get… você tem que passar como parâmetro o nome idêntico a coluna que está no banco de dados…[/quote]

no set a variavel precisa estar igual no banco tambem?, pois se fizer isso da erro

[quote=Matheus terra]Faça assim:

[code]public boolean consultar (int codigo)throws Exception{
String sql = "SELECT * FROM produto WHERE codigo = " + codigo;
Connection conn = ConnectionFactory.getConnection();
PreparedStatement stmt = conn.prepareStatement(sql); a

//armazena o resultado da query  
ResultSet rs = stmt.executeQuery();  

rs.next();  

    int codigo_fornecedor = rs.getInt("codigo_fornecedor");  
    produto.setCodigo_fornecedor(codigo_fornecedor);  
    String nome_produto = rs.getString("Nome");  
    produto.setNome_produto(nome_produto);  
    int quantidade_estoque = rs.getInt("Quantidade");  
    produto.setQuantidade_estoque(quantidade_estoque);  
    Double valor_custo = rs.getDouble ("Valor Custo");  
    produto.setValor_custo(valor_custo);  
     Double valor_venda = rs.getDouble ("Valor Venda");  
    produto.setValor_venda(valor_venda);  

rs.close();  
stmt.close();  
ConnectionFactory.closeConnection(conn);  
if (produtoFoiEncontrado == true)  
    return true;  
else  
    return false;  

} [/code]

Na hora de chamar esse método passa a variavel codigo que o usuário digitou no input. Lembre-se, na hora que você dar um rs.getString ou qualquer outro get… você tem que passar como parâmetro o nome idêntico a coluna que está no banco de dados…[/quote]

Cara consegui consultar, dei um block no nome e consultou, mas quando vou alterar da o seguinte erro:

No value specified for parameter 7

voce sabe qual pode ser este erro?