Problema com executeUpdate

2 respostas
Matheus_Prado

galera uso esse codigo abaixo para conctar e realizar mudanças no banco

try {
		  
		  aux= " insert into Cliente (codcliente, nome, sexo, cpf, identidade, rua, bairro) values ("+codcliente.getText()+",'"+nome.getText()+"','"+cbsexo.getSelectedItem().toString()+"','"+cpf.getText()+"','"+identidade.getText()+"','"+rua.getText()+"','"+bairro.getText()+"')";
		  String url = "jdbc:odbc:Loja";
		  Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
		  Connection con;
		  con = DriverManager.getConnection(url, "","");
		  Statement st = con.createStatement ();
		  st.executeUpdate (aux);
		  JOptionPane.showMessageDialog(null, "Cliente Cadastrado com Sucesso"); 
		  con.close();
		}
		
		catch (Exception event) {
		  JOptionPane.showMessageDialog(null, "Erro no Cadastrado"); 
		}

só que na hora que eu encremento mais um dado no aux, cai no excption e dá erro,
o executeupate tem limite de campo alguma coisa assim?

obrigado

2 Respostas

B

Substitua isto

Statement st = con.createStatement (); st.executeUpdate (aux);

por isto

PreparedStatement pstmt = con.prepareStatement(aux); pstmt.executeUpdate();

E uma dica… em vez de concatenar os valores do insert, utilize as interrogações “?”.
Ex:

String sql = "insert into tb_teste values (?, ?, ?)"; PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setInt(1, 1); pstmt.setString(2, "Nome"); pstmt.setDate(3, new Date()); pstmt.executeUpdate();

Matheus_Prado

deu certin aqui cara
brigadão ae
vlw pela dica
abraço

Criado 13 de novembro de 2009
Ultima resposta 14 de nov. de 2009
Respostas 2
Participantes 2