Boa noite! Estou fazendo um projeto e cara hora uma coisa sai errado ¬¬’
Esse meu programa estava funcionando usando o “banco de dados” access. E quando eu passei para MySQL, o botão não funciona! Oo (como???)
Caras, eu já procurei entender, mas juro que não consegui. Se vocês enxergarem alguma coisa que eu não vi ai, por favor me avisem.
Abraços.
<code>
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.;
import java.sql.;
import java.lang.*;
import javax.swing.*;
public class chatterbot extends JFrame implements ActionListener
{
private static Connection connection;
int contador = 0;
JLabel escreva;
JButton ok;
static JTextField linha;
static TextArea texto;
public chatterbot()
{
JFrame frame = new JFrame("Chatter Teste");
frame.setSize(500,300);
frame.setLocation(400,200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
escreva = new JLabel("Escreva aqui:");
escreva.setLocation(20,220);
escreva.setSize(100,30);
linha = new JTextField ("");
linha.setLocation(100,225);
linha.setSize(300,20);
texto = new TextArea ("",5,40,1);
texto.setLocation(10,10);
texto.setSize(450,180);
texto.setEditable(false);
ok = new JButton("ok");
ok.setLocation(420,210);
ok.setSize(50,50);
frame.getContentPane().setLayout(null);
frame.getContentPane().add(escreva);
frame.getContentPane().add(linha);
frame.getContentPane().add(texto);
frame.getContentPane().add(ok);
frame.show();
}
public static void FazConexao()
{
System.out.println("Vai fazer a conexão");
// O URL que especifica o banco de dados chatbot ao qual
// esse programa se conecta, utilizando JDBC para conectar a um
// banco de dados Microsoft ODBC.
// Carrega o driver para permitir conexão ao banco de dados
try
{
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost/chatbot?user=root&password=vampiro");
System.out.println("conexão com sucesso");
}
catch (ClassNotFoundException cnfex)
{
System.err.println("FALHA NA CONEXÃO DO BANCO DE DADOS");
cnfex.printStackTrace();
System.exit(1);
}
catch (SQLException sqlex)
{
System.err.println("BANCO DE DADOS NÃO DISPONIVEL");
sqlex.printStackTrace();
}
}
public static void main(String args[])
{
FazConexao();
new chatterbot();
}
public void actionPerformed(ActionEvent botoes)
{
Connection con = connection;
if(botoes.getSource()==ok)
{
String frase;
frase = linha.getText().replaceAll("[?!,.;/|@#$%¨&¬'\"]",""); //Aqui fica todo o tratamento
frase = frase.replaceAll("[éèêëÉÈÊË]", "e"); //da sintaxe.
frase = frase.replaceAll("[áàäâãÁÀÂÃÄ]", "a");
frase = frase.replaceAll("[úùüûÙÚÛÜ]", "u");
frase = frase.replaceAll("[óòôõöÓÒÔÕÖ]", "o");
frase = frase.replaceAll("[íìïîÍÌÎÏ]", "i");
frase = frase.replaceAll("Çç", "c");
try
{
//Aqui teremos o query para pegar a resposta do banco de dados.
Statement st = con.createStatement();
ResultSet res = st.executeQuery("SELECT resposta FROM pergunta WHERE descricao = '" + frase + "'");
//Aqui tratarei a resposta caso for positiva.
if (res.next())
{
texto.append("-Humano: " + linha.getText());
texto.append("\n-Computador: " + res.getString("resposta"));
texto.append("\n\n");
linha.setText("");
}
}
catch (SQLException sqlex)
{
System.out.println("erro sql " + sqlex);
sqlex.printStackTrace();
}
}
}
}
</code>