seguinte quero atualizar fazer update no banco acess no postgree mysql assim funciona masno acess da erro
publicvoidUpdate_Valor_Total_Venda(Doublevalor,Integerid_venda){Stringsql=" UPDATE venda SET valor_total_venda = '"+valor+"' WHERE id_venda = '"+id_venda+"'";try{Statementstmt=getConexao().createStatement();stmt.executeUpdate(sql);}catch(SQLExceptionsQLException){System.out.println("Erro ao setar valor total venda "+sQLException);}}
o erro
8Erro ao setar valor total venda java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] Par?metros insuficientes. Eram esperados 1.
Qual é o tipo das colunas valor_total_venda e id_venda ?
fabiodurgante
valor_total_venda numerico
id_venda Integer
A
andre.froes
a sintaxe do sql para access é diferente da sintaxe do mysql e postgre, dê uma pesquisada na sintaxe para o sql, que ele tem um sistema de parametrização um pouco diferente. Já tive esse tipo de problema, mas sinceramente não lembro da sintaxe do acces kkk
FacaNaCaveira
Fala ai fabiodurgante,
tenta assim e veja se funciona… tirei as aspas dos valores pois eles são numericos e inteiros e nao Strings
publicvoidUpdate_Valor_Total_Venda(Doublevalor,Integerid_venda){Stringsql=" UPDATE venda SET valor_total_venda = ? WHERE id_venda = ?";try{Statementstmt=getConexao().prepareStatement(sql);//Alterei aqui para o prepareStatementstmt.setInt(1,valor);stmt.setInt(2,id_venda);stmt.executeUpdate();stmt.close();//nao esqueça de fechar a tabela e a conexxao//close();//e a conexao}catch(SQLExceptionsQLException){System.out.println("Erro ao setar valor total venda "+sQLException);}}
no exemplo acima, ele não reconhece pois você declarou stmt como Statement e não como PreparedStatement…
no seu exemplo original, dá um system.out.println no valor da variavel sql…copia esse valor e roda direto no access…
ele abrirá uma inputbox pedindo o valor de um parâmetro…
o que o access entende como parâmetro é na verdade um nome de objeto que você possa ter digitado errado…
fabiodurgante
Erro ao setar valor total venda java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] Par?metros insuficientes. Eram esperados 3.
erro denovo
publicvoidUpdate_Valor_Total_Venda(Doublevalor,Integerid_venda){Stringsql=" UPDATE venda SET valor_total_venda = ? WHERE id_venda = ?";try{PreparedStatementstmt=getConexao().prepareStatement(sql);stmt.setDouble(1,valor);stmt.setInt(2,id_venda);stmt.executeUpdate();stmt.close();//nao esqueça de fechar a tabela e a conexxao}catch(SQLExceptionsQLException){System.out.println("Erro ao setar valor total venda "+sQLException);}}