executeUpdate erro!

7 respostas
S

Eu to usando esse codigo

st.executeUpdate("INSERT INTO Serie (Serie, Cliente, Modelo) VALUES ("+serie+","+cliente+","+modelo+")");

e esse que dão o msm erro

st.executeUpdate("UPDATE Serie SET Serie= "+serie+",Cliente= "+cliente+",Modelo= "+modelo+" WHERE Serie= "+serie);

e naum vai, ele da um erro que ta faltando paramentro eram esperados dois.
Dei uma olhada em outros topico com executeUpdate no jdbc mas não me esclareceu, quem puder ajudar, obrigado!

7 Respostas

CintiaDR

Erro de compilação ou de execução?

Se for de execução, tem como passar a exception inteira?

E vc tem certeza que as três variáveis são diferentes de null?

S
exception ->

java.sql.SQLException: [Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 2.

at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)

at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7115)

at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3111)

at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)

at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:288)
CintiaDR

Que valores tem em cada uma das variáveis? Aliás, pegue a string inteira, e antes de executá-la, imprimi-a e veja se tem algo estranho.

A

Falta apostrofe, se todas as suas variáveis forem String.

st.executeUpdate("INSERT INTO Serie (Serie, Cliente, Modelo) VALUES ('"+serie+"','"+cliente+"','"+modelo+"')");
S

tah td certo, qnt a compatibilidade de tipos, e jah imprimi a string o comando sql era pra ser akele q mostra msm

CintiaDR

Snoop, se vc não mostrar a string inteira PARA A GENTE é muito difícil adivinhar o problema. Mas se vc acha que está certo, a excessão não faz sentido, porque ela está afirmando que a string não pode ser executada.

tnaires

Sugestão: use PreparedStatement e todos os seus problemas se resolvem.

PreparedStatement statement = connection.prepareStatement("INSERT INTO Serie (Serie, Cliente, Modelo) VALUES (?, ?, ?)"); statement.setString(1, "Série A"); statement.setString(2, "Cliente A"); statement.setString(3, "Modelo A"); statement.executeUpdate();

Uma observação: verificando o INSERT, notei que a tabela tem o mesmo nome de um dos campos. Pode ser que o banco de dados esteja reclamando disso.

Criado 5 de novembro de 2007
Ultima resposta 5 de nov. de 2007
Respostas 7
Participantes 4