Tá dizendo que a tabela não existe?
java.sql.SQLSyntaxErrorException: A tabela/visão ‘ESTADOS’ não existe.
Classe da conexão:
package Formulário;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
public class ConectaBanco {
public Statement stm;//responsável por preparar e realizar pesquisas no banco de dados
public ResultSet rs;//responsável por amazenar o resultado de uma pesquisa passada para o Statement
private String driver = "apache_derby_net";//responsável por identificar o serviço de banco de dados
private String caminho = "jdbc:derby://localhost:1527/TestandoBanco";//responsável por setar o local do banco de dados
private String usuario = "Higor";
private String senha = "deliciacara15";
public Connection conn; // responsável por realizar a conexão com o banco de dados
public void conexao()
{//método responsável por realizar a conexão com o banco.
try {//tentativa inicial
System.setProperty("jdbc.Drivers", driver);//seta a propriedade do driver de conexão
conn = DriverManager.getConnection(caminho, usuario, senha);//realiza a conexão com o banco de dados.
JOptionPane.showMessageDialog(null, "Conectado com sucesso.");
} catch (SQLException ex) {//se não der certo... \/
Logger.getLogger(ConectaBanco.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, "Erro de conexão."
+"\nErro:"+ex.getMessage());
}
}
public void desconecta()
{//método para fechar a conexão com o banco de dados
try {
conn.close();//fecha a conexao
JOptionPane.showMessageDialog(null, "Conexão fechada com sucesso!");
} catch (SQLException ex) {
Logger.getLogger(ConectaBanco.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, "Erro ao fechar a conexão."
+ "\nErro:"+ex.getMessage());
}
}
}
Código da inserção através de um JButton:
private void cadastrarActionPerformed(java.awt.event.ActionEvent evt) {
if (evt.getSource() == cadastrar) {
if (nome.getText().length() > a)//Limitando os caracteres de
//uma String pra 20.
{
try {
throw new Exception();
} catch (Exception ex) {
Logger.getLogger(FrmEstado.class.getName()).
log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, "Eroooooo");
}
}
if (sigla.getText().length() > b) {//limitando os caracteres de uma
//String pra 2
try {
throw new Exception();
} catch (Exception ex) {
Logger.getLogger(FrmEstado.class.getName()).log(
Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, "EROOOOO");
}
}
try {
PreparedStatement pst = cb.conn.prepareStatement("insert into "
+ "Estados(Nome_do_estado,"
+ " Sigla_do_estado)values(?,?)");
pst.setString(1, nome.getText());
pst.setString(2, sigla.getText());
pst.executeUpdate();
JOptionPane.showMessageDialog(null, "DEU CERTO!");
} catch (SQLException ex) {
Logger.getLogger(FrmEstado.class.getName()).log(Level.SEVERE,
null, ex);
JOptionPane.showMessageDialog(null, "Num vai dá não!\nERRO:"
+ " " + ex);
}
}
}
Código SQL:
CREATE TABLE "Estados" (
"ID" INTEGER not null primary key,
"Nome_do_estado" VARCHAR(20),
"Sigla_do_estado" VARCHAR(2)
);
Observações.:
- Na classe onde eu fiz a inserção, eu utilizei o método da conexão!
- Banco de dados usado: Java DB.
PS: EU JÁ GEREI A TABELA!!!