Bom dia!
Uso uma função que faz os métodos de insert, select e update, dependendo da opção de conexão.
Utilizo um parâmetro que define a ação que será implementada dentro da função.
Quando utilizo esta função, e aponto para um banco de dados local(localhost) ou utilizo o programa de outra máquina, mas na mesma rede em que o banco de dados se encontra, vai tranquilo!
Porém quero utilizar esta aplicação com um banco de dados remoto, o qual se encontra em um domínio próprio!
Toda vez que direciona a conexão para o banco de dados remoto, ele traca, o que me faz ter que finalizar a tarefa!
O código utilizado para os comandos no bando interno ou externo é este!
PS. Defino o host na abertura do programa..
O programa na rede local é relativamente rápido e funcional; Não apresenta bugs!!!
this.tpConn é o parâmetro que utilizo para select/update ou insert.
this.host é a variável que recebe o host onde o bd está localizado.
public void Query() { //Comandos no banco de dados
//definicoes da conexao - padrao
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://" + this.host + "/db?user=user&password=password");
String consulta = null;
String insert;
String updat;
ResultSet rs = null;
Statement stm = conn.createStatement();
if ("L".equals(this.tpConn) || "V".equals(this.tpConn)) {
if ("V".equals(this.tpConn)) {
// Gravacao do voto
insert = "INSERT INTO votacao (presidente, vice, tesoureiro, secretario) VALUES ('"
+ this.presidente + "', '"
+ this.vicePresidente + "', '"
+ this.tesoureiro + "', '"
+ this.secretario + "')";
stm.executeUpdate(insert);
//Atualiza situacao de voto do usuario
updat = "UPDATE autenticacao SET status='1' WHERE usuario='" + this.user + "' AND senha = '" + this.senha + "'";
stm.executeUpdate(updat);
}
consulta = "SELECT usuario,senha,status FROM autenticacao WHERE usuario='" + this.user + "' AND senha = '" + this.senha + "'";
rs = stm.executeQuery(consulta);
while (rs.next()) {
if ("L".equals(this.tpConn)) {
//Consulta Cadastro de usuario, situacao de voto...
{
this.SetExist(true);
this.SetStatus(rs.getInt("status"));
}
} else if ("V".equals(this.tpConn)) {
if (rs.getInt("status") == 1) {
JOptionPane.showMessageDialog(null, "Votação Encerrada!");
} else if (rs.getInt("status") == 0) {
JOptionPane.showMessageDialog(null, "Problema: Usuário Náo Atualizado!");
}
}
}
//encerramento da conexao
rs.close();
stm.close();
conn.close();
} else {
JOptionPane.showMessageDialog(null, "Parâmetro com problema!");
}
} catch (SQLException e) {
if (e.getMessage() != null) {
JOptionPane.showMessageDialog(null, e.getSQLState());
}
} catch (Exception e) {
if (e.getMessage() != null) {
JOptionPane.showMessageDialog(null, e.toString());
}
}
}