Olá pessoal, tenho o código de um evento que quando acionado faz uma conexão no banco e atualiza o mesmo, o problema é que a atualizaçao não funciona. O código muda o status do text do botão mas não atualiza o banco. Pensei que poderia ser privilegio mas dei o comando para dar acesso a todas as tabelas a esse usuário. O que pode ser?
No banco:
String driver = "com.mysql.jdbc.Driver"; //Classe do driver JDBC
String banco = "y"; //Nome do Banco criado
String host = "10.11.0.21"; //Maquina onde está o banco
String str_conn = "jdbc:mysql://" + host + ":3306/" + banco; //URL de conexão
String usuario = "pedro"; //Usuário do banco
String senha = "1212"; //Senha de conexão
String agente = jTextField1.getText();
String verifica = jButton2.getText();
if (verifica == "PAUSA"){
try
{
Class.forName(driver);
Connection conn = DriverManager.getConnection(str_conn, usuario, senha);
Statement stmt = conn.createStatement();
String sql = "update agentes set status = 'PAUSA' WHERE agente = '" + agente + "'";
jButton2.setText("DESPAUSA");
}
catch (ClassNotFoundException ex) {
System.out.println("Não foi possível carregar o driver.");
ex.printStackTrace();
}
catch (SQLException ex) {
System.out.println("Problema com o SQL");
JOptionPane.showMessageDialog(null, "Não foi possivel conectar ao banco de dados para atualizar status agente","", JOptionPane.ERROR_MESSAGE);
ex.printStackTrace();
}
}
if (verifica == "DESPAUSA"){
try
{
Class.forName(driver);
Connection conn = DriverManager.getConnection(str_conn, usuario, senha);
Statement stmt = conn.createStatement();
String sql = "update agentes set status = 'LOGADO' WHERE agente = '" + agente + "'";
jButton2.setText("PAUSA");
}
catch (ClassNotFoundException ex) {
System.out.println("Não foi possível carregar o driver.");
ex.printStackTrace();
}
catch (SQLException ex) {
System.out.println("Problema com o SQL");
JOptionPane.showMessageDialog(null, "Não foi possivel conectar ao banco de dados para atualizar status agente","", JOptionPane.ERROR_MESSAGE);
ex.printStackTrace();
}
}
[quote=Pedro Ribeiro]Olá pessoal, tenho o código de um evento que quando acionado faz uma conexão no banco e atualiza o mesmo, o problema é que a atualizaçao não funciona. O código muda o status do text do botão mas não atualiza o banco. Pensei que poderia ser privilegio mas dei o comando para dar acesso a todas as tabelas a esse usuário. O que pode ser?
No banco:
[code]
String driver = “com.mysql.jdbc.Driver”; //Classe do driver JDBC
String banco = “y”; //Nome do Banco criado
String host = “10.11.0.21”; //Maquina onde está o banco
String str_conn = “jdbc:mysql://” + host + “:3306/” + banco; //URL de conexão
String usuario = “pedro”; //Usuário do banco
String senha = “1212”; //Senha de conexão
String agente = jTextField1.getText();
String verifica = jButton2.getText();
if (verifica == "PAUSA"){
try
{
Class.forName(driver);
Connection conn = DriverManager.getConnection(str_conn, usuario, senha);
Statement stmt = conn.createStatement();
String sql = "update agentes set status = 'PAUSA' WHERE agente = '" + agente + "'";
jButton2.setText("DESPAUSA");
}
catch (ClassNotFoundException ex) {
System.out.println("Não foi possível carregar o driver.");
ex.printStackTrace();
}
catch (SQLException ex) {
System.out.println("Problema com o SQL");
JOptionPane.showMessageDialog(null, "Não foi possivel conectar ao banco de dados para atualizar status agente","", JOptionPane.ERROR_MESSAGE);
ex.printStackTrace();
}
}
if (verifica == "DESPAUSA"){
try
{
Class.forName(driver);
Connection conn = DriverManager.getConnection(str_conn, usuario, senha);
Statement stmt = conn.createStatement();
String sql = "update agentes set status = 'LOGADO' WHERE agente = '" + agente + "'";
jButton2.setText("PAUSA");
}
catch (ClassNotFoundException ex) {
System.out.println("Não foi possível carregar o driver.");
ex.printStackTrace();
}
catch (SQLException ex) {
System.out.println("Problema com o SQL");
JOptionPane.showMessageDialog(null, "Não foi possivel conectar ao banco de dados para atualizar status agente","", JOptionPane.ERROR_MESSAGE);
ex.printStackTrace();
}
}
[/code][/quote]
// para comparar strings usa-se o equals e nao ==
// voce também esqueceu de executar a sua query tem que colocar o stmt.executeUpdate()
if (verifica.equals("DESPAUSA")){
try
{
Class.forName(driver);
Connection conn = DriverManager.getConnection(str_conn, usuario, senha);
Statement stmt = conn.createStatement();
String sql = "update agentes set status = 'LOGADO' WHERE agente = '" + agente + "'";
stmt.executeUpdate(sql); // aqui ira atualizar
jButton2.setText("PAUSA");
}
catch (ClassNotFoundException ex) {
System.out.println("Não foi possível carregar o driver.");
ex.printStackTrace();
}
catch (SQLException ex) {
System.out.println("Problema com o SQL");
JOptionPane.showMessageDialog(null, "Não foi possivel conectar ao banco de dados para atualizar status agente","", JOptionPane.ERROR_MESSAGE);
ex.printStackTrace();
}
}