Tabela toda auterada

7 respostas
ilidiopaulo

Olá, bom dia.

Estrou fazendo um método para a atualização do conteúdo do banco de dados do usuário, acontece que quando mando executar ele simplesmente modifica todos os registros da tabela com o mesmo conteúdo que eu alterei, não é apenas um ou vários registros e sim, todos os registros da tabela.
Se alguém puder me ajudar eu agradeço desde já.

try

{

String classpath = mysql-connector-java-5.0.4-bin.jar;

String driverName = com.mysql.jdbc.Driver;

Class.forName(driverName);

String url = jdbc:mysql://localhost:3306/hiroko”;

String username = administrador;

String password = 123456;

Connection con= DriverManager.getConnection(url, username, password);

/<em>atual = (update fornecedor set (codigo, razaosocial, contato, cpfcgccnpj, endereco, cidade, uf, telefone, email, site, notafiscal) values (’” + Integer.parseInt(jTFcodigo.getText()) + “’,’” + jTFrazaosocial.getText() + “’,’” + jTFcontato.getText() + “’,’” + Integer.parseInt(jTFcgccpf.getText()) + “’,’” + jTFendereco.getText() + “’,’” + jTFcidade.getText() + “’,’” + jCBuf.getName() + “’,’” + Integer.parseInt(jTFtelefone.getText()) + “’,’” + jTFemail.getText() + “’,’” + jTFsite.getText() + “’,’” + Integer.parseInt(jTFfiscal.getText()) + “’));</em>/

/<em>atual = (update fornecedor set codigo = '” + Integer.parseInt(this.jTFcodigo.getText()) + “’, razaosocial = '” + this.jTFrazaosocial.getText() + “’, contato = '” + this.jTFcontato.getText() + “’, cpfcgccnpj = '” + Integer.parseInt(this.jTFcgccpf.getText()) + “’, endereco = '” + this.jTFendereco.getText() + “’, cidade = '” + this.jTFcidade.getText() + “’, uf = '” + this.jCBuf.getName() + “’, telefone = '” + Integer.parseInt(this.jTFtelefone.getText()) + “’, email = '” + this.jTFemail.getText() + “’, site = '” + this.jTFsite.getText() + “’, notafiscal = '” + Integer.parseInt(this.jTFfiscal.getText()) + " where (’" + Integer.parseInt(jTFcodigo.getText()) + “’,’” + jTFrazaosocial.getText() + “’,’” + jTFcontato.getText() + “’,’” + Integer.parseInt(jTFcgccpf.getText()) + “’,’” + jTFendereco.getText() + “’,’” + jTFcidade.getText() + “’,’” + jCBuf.getName() + “’,’” + Integer.parseInt(jTFtelefone.getText()) + “’,’” + jTFemail.getText() + “’,’” + jTFsite.getText() + “’,’” + Integer.parseInt(jTFfiscal.getText()) + "’) ");</em>/

atual = update fornecedor set codigo = '” + Integer.parseInt(this.jTFcodigo.getText()) + “’”+

, contato = '” + this.jTFcontato.getText() + “’” +

, cpfcgccnpj = '” + Integer.parseInt(this.jTFcgccpf.getText()) + “’” +

, endereco = '” + this.jTFendereco.getText() + “’” +

, cidade = '” + this.jTFcidade.getText() + “’” +

, uf = '” + this.jCBuf.getName() + “’” +

, telefone = '” + Integer.parseInt(this.jTFtelefone.getText()) + “’” +

, email = '” + this.jTFemail.getText() + “’” +

, site = '” + this.jTFsite.getText() + “’” +

, notafiscal = '” + Integer.parseInt(this.jTFfiscal.getText()) + “’”;

/* where (’" + Integer.parseInt(jTFcodigo.getText()) + “’,’” + jTFrazaosocial.getText() + “’,’” + jTFcontato.getText() + “’,’” + Integer.parseInt(jTFcgccpf.getText()) + “’,’” + jTFendereco.getText() + “’,’” + jTFcidade.getText() + “’,’” + jCBuf.getName() + “’,’” + Integer.parseInt(jTFtelefone.getText()) + “’,’” + jTFemail.getText() + “’,’” + jTFsite.getText() + “’,’” + Integer.parseInt(jTFfiscal.getText()) + "’) ");*/

PreparedStatement stmt = con.prepareStatement(atual);

stmt.executeUpdate(atual);

}

catch (ClassNotFoundException e)

{

//Driver não encontrado

System.out.println(O driver expecificado não foi encontrado.);

e.printStackTrace();

}

catch (SQLException e)

{

//Não está conseguindo se conectar ao banco

System.out.println(Não foi possível conectar ao Banco de Dados);

e.printStackTrace();

}

7 Respostas

cv1

Procure sobre um problema chamado SQL Injection.

A
  • Ninguém vai ler o seu cógigo sem formatação - use a tag code.
  • Não programe em Java como se programa em VB.
  • Siga o conselho do CV
  • Utilize corretamente o PreparedStatement
  • Parece que você comentou o “where”
  • AUterada? foi alterada por um cachorro?
davidbuzatto

Teu problema parece ser no WHERE mesmo… Se vc num especifica qual linha deve ser alterada, sua tabela inteira será modificada… E cuidado com o problema de SQL Injection como o cv disse…

clodoaldoaleixo

Ninguem merece um update sem Where né…devia ser capado quem faz isso…heheh

E não vem dizendo que em VB se programa dessa forma ai não…em VB da sim para programar de forma clara, separada em módulos, organizadamente…já programei em VB e eu sei…

davidbuzatto

clodoaldoaleixo:
Ninguem merece um update sem Where né…devia ser capado quem faz isso…heheh

Cuidado com o que fala…

clodoaldoaleixo

davidbuzatto:
clodoaldoaleixo:
Ninguem merece um update sem Where né…devia ser capado quem faz isso…heheh

Cuidado com o que fala…

Cuidado com quem? com vc?

Calvin

clodoaldoaleixo,

O davidbuzatto disse cuidado com o que fala e não com quem.

Vamos manter um pouco de respeito no fórum.

… abraços

Criado 4 de janeiro de 2007
Ultima resposta 5 de jan. de 2007
Respostas 7
Participantes 6