Erro no executeUpdate

3 respostas
D

Bom pessaol, eu estou tentanto fazer um projeto pra faculdade aki, vc´s poderiam me dar uma força, ja que meu professor esta "away" ehueheue (casando!!!).
Bom, eh o seguinte, este eh o codigo:

public void inserir(Compra compra) throws RepositorioException {

      try {
            Statement statement = ConnectionManager.reservaStatement();
            if (compra != null) {
                try {
                    statement.executeUpdate("INSERT INTO COMPRA VALUES (" +
                      ****** compra.getItens() + ", '" +
                       compra.getCliente().getCpf() + "', " +
                       compra.getCodigo() + ")");
                }
                catch (SQLException e) {
                    throw new RepositorioException(e);
                        }
            }
        } finally {
                    ConnectionManager.liberaStatement();
        }

    }
****** erro aki: O getitens, eh um array (um reposritorio de itens), e na tabela COMPRA, requer o CODIGO_ITEM eh um NUMBER, quando eu tento executar o codigo, o erro eh o seguinte:

[Microsoft][Driver ODBC para Microsoft Access] Erro de sintaxe (operador faltando) na expressão de consulta 'projeto_java.item.RepositorioItem@13dee9'.:

Eu tentei fazer uma gambiarra, colocando na classe basica de compra um getcod_itens onde ele eh uma variavel de item que contem o metodo getcodigo_item, mas quando eu altero la no update o erro eh o seguinte:

java.lang.NullPointerException

at projeto_java.compra.Compra.getCod_item(Compra.java:53)

at projeto_java.compra.RepositorioCompraBDR.inserir(RepositorioCompraBDR.java:50)

at projeto_java.compra.CadastraCompra.cadastrar(CadastraCompra.java:43)

at projeto_java.fachada.Fachada.inserirCompra(Fachada.java:57)

at projeto_java.testa.TestaBanco.main(TestaBanco.java:39)

Exception in thread "main"

Me ajudem plsss...
:razz:

3 Respostas

M

oops, bem-vindo ao Portal e ao fórum! ... bem, se o teu getItems() retorna um array de Items, tu nao pode simplesmente colocar ele assim na consulta, tu tens q colocar Strings na consulta, no caso, as Strings q representam cada Item, depois q tu tiver o vetor de items, tu pode iterar em um laço pra ir colocando na String de consulta

String query = "INSERT INTO COMPRA ...";
String [] item = compra.getItens();

for ( int i = 0; i < item.length; i++ )
   query += item[i].getNome(); // por exemplo
D

Nao da porque getItens eh um Interface de um array :frowning:

ele da incompatibilidade de dados no String [] item = compra.getCod_item();

M

“DrBreno”:
Nao da porque getItens eh um Interface de um array :frowning:

não entendi, pode postar a assinatura do método?

Criado 26 de junho de 2004
Ultima resposta 27 de jun. de 2004
Respostas 3
Participantes 2