Bom dia/tarde/noite
Estou com um problema com a conexão do banco de dados Derby (usando o Netbeans) em meu projeto. Quando eu executo o projeto, recebo de volta a mensagem “Database ‘livro’ not found.”. Já movi a pasta e o arquivo que são criados em c:/user/user/.netbeans-derby para a pasta do projeto, e garanti que o usuário e senha na conexão do banco de dados estão certos, mas ainda assim estou com problema para essa conexão.
Segue abaixo o código:
Classe BancoDeDados
package bancodedados;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import sun.security.util.BigInt;
public class BancoDeDados {
/**
*
*/
private Connection con;
public BancoDeDados(){
try {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
con = DriverManager.getConnection("jdbc:derby:livro", "root", "1234");
} catch (ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, e.getMessage());
} catch (SQLException e){
JOptionPane.showMessageDialog(null, e.getMessage());
}
}
public void inserir(String titulo, String autor, int edicao, Long isbn, String categoria, Double preco, int estoque) throws SQLException{
Statement stm = con.createStatement();
stm.executeUpdate("INSERT INTO livro VALUES('"+titulo+"', '"+autor+"', '"+edicao+"', '"+isbn+"', '"+categoria+"', '"+preco+"', '"+estoque+"')");
}
}
Classe Livro (contém o main)
package bancodedados;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import javax.swing.JOptionPane;
public class Livro {
public String tituloLivro;
public String autorLivro;
public int edicaoLivro;
public Long isbnLivro;
public String categoriaLivro;
public Double precoLivro;
public int estoqueLivro;
Livro() {
}
public String getTituloLivro() {
return tituloLivro;
}
public void setTituloLivro(String tituloLivro) {
this.tituloLivro = tituloLivro;
}
public String getAutorLivro() {
return autorLivro;
}
public void setAutorLivro(String autorLivro) {
this.autorLivro = autorLivro;
}
public int getEdicaoLivro() {
return edicaoLivro;
}
public void setEdicaoLivro(int edicaoLivro) {
this.edicaoLivro = edicaoLivro;
}
public Long getIsbnLivro() {
return isbnLivro;
}
public void setIsbnLivro(Long isbnLivro) {
this.isbnLivro = isbnLivro;
}
public String getCategoriaLivro() {
return categoriaLivro;
}
public void setCategoriaLivro(String categoriaLivro) {
this.categoriaLivro = categoriaLivro;
}
public int getEstoqueLivro(){
return estoqueLivro;
}
public void setEstoqueLivro(int estoque){
this.estoqueLivro = estoque;
}
public Double getPrecoLivro(){
return precoLivro;
}
public void setPrecoLivro(Double preco){
this.precoLivro = preco;
}
public static void main (String args[]){
try {
JanelaIncluirLivro frame = new JanelaIncluirLivro();
frame.setVisible(true);
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex);
}
}
}
Classe JanelaIncluirLivro
[code]
package bancodedados;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.DefaultComboBoxModel;
import javax.swing.InputVerifier;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
import java.awt.event.FocusListener;
import java.awt.event.FocusEvent;
import java.sql.SQLException;
import sun.security.util.BigInt;
public class JanelaIncluirLivro extends JFrame implements ActionListener, KeyListener, FocusListener {
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTextField tituloLivro;
private JLabel lblNewLabel;
private JTextField autorLivro;
private JLabel lblEdio;
private JTextField edicaoLivro;
private JLabel lblIsbn;
private JTextField precoLivro;
private JLabel lblPreoDoLivro;
private JTextField estoqueLivro;
private JTextField isbnLivro;
private JComboBox<Object> categoriaLivro;
private JButton btnOkIncluirLivro;
private JButton btnCancelar;
private BancoDeDados con = new BancoDeDados();
Livro l = new Livro();
JanelaIncluirLivro() {
this.con = con;
//initComponents();
setTitle("Incluir Livro");
setResizable(false);//Não permite maximizar a tela
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setBounds(100, 100, 450, 278);
contentPane = new JPanel();
contentPane.setForeground(Color.BLUE);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
//Texto Para referencia do Usuário Titulo do Livro
JLabel lblTituloDoLivro = new JLabel("Titulo do Livro");
lblTituloDoLivro.setForeground(Color.BLUE);
lblTituloDoLivro.setBackground(Color.WHITE);
lblTituloDoLivro.setFont(new Font("Arial", Font.BOLD, 12));
lblTituloDoLivro.setBounds(10, 14, 94, 14);
contentPane.add(lblTituloDoLivro);
//Campo para digitar Titulo do Livro
tituloLivro = new JTextField();
tituloLivro.setToolTipText("Digite o titulo do livro");
tituloLivro.setBounds(131, 11, 293, 20);
contentPane.add(tituloLivro);
tituloLivro.setColumns(10);
//Texto Para Referência do Usuário Titulo do Livro
lblNewLabel = new JLabel("Autor");
lblNewLabel.setFont(new Font("Arial", Font.BOLD, 12));
lblNewLabel.setForeground(Color.BLUE);
lblNewLabel.setBounds(10, 38, 94, 14);
contentPane.add(lblNewLabel);
//Campo para digitar Nome autor do Livro
autorLivro = new JTextField();
autorLivro.setToolTipText("Digite o autor do livro");
autorLivro.setBounds(131, 36, 293, 20);
contentPane.add(autorLivro);
autorLivro.setColumns(10);
//Texto Para referencia do Usuário Edição do Livro
lblEdio = new JLabel("Edi\u00E7\u00E3o");
lblEdio.setFont(new Font("Arial", Font.BOLD, 12));
lblEdio.setForeground(Color.BLUE);
lblEdio.setBounds(10, 63, 46, 14);
contentPane.add(lblEdio);
//Campo Para Digitar Edição do Livro
edicaoLivro = new JTextField();
edicaoLivro.setToolTipText("Digite a edição do livro");
edicaoLivro.addKeyListener(this);
edicaoLivro.setBounds(131, 61, 293, 20);
contentPane.add(edicaoLivro);
edicaoLivro.setColumns(10);
//Texto Para referencia do Usuário ISBN do Livro
lblIsbn = new JLabel("ISBN");
lblIsbn.setFont(new Font("Arial", Font.BOLD, 12));
lblIsbn.setForeground(Color.BLUE);
lblIsbn.setBounds(10, 88, 46, 14);
contentPane.add(lblIsbn);
//Campo Para Digitar Isbn do Livro
isbnLivro = new JFormattedTextField();
isbnLivro.setToolTipText("Digite o isbn do livro");
isbnLivro.addKeyListener(this);
isbnLivro.setBounds(131, 86, 293, 20);
contentPane.add(isbnLivro);
//Texto Para referencia do Usuário Categoria do Livro
JLabel lblCategoria = new JLabel("Categoria");
lblCategoria.setFont(new Font("Arial", Font.BOLD, 12));
lblCategoria.setForeground(Color.BLUE);
lblCategoria.setBounds(10, 113, 83, 14);
contentPane.add(lblCategoria);
//Campo Para Selecionar Categoria do Livro
categoriaLivro = new JComboBox<Object>();
categoriaLivro.setModel(new DefaultComboBoxModel<Object>(new String[] {"", "Autoajuda",
"Aventura", "Ci\u00EAncias/Sociais", "Cl\u00E1ssico\t", "Drama ", "Economia", "Er\u00F3tico ",
"Fic\u00E7\u00E3o/Cient\u00EDfica", "Filosofia ", "Hist\u00F3ria ", "Infantil/Juvenil ", "Literatura",
"Mitologia ", "Poesia ", "Outros", "", " "}));
categoriaLivro.setToolTipText("Selecione a categoria do livro");
categoriaLivro.setBounds(131, 111, 293, 20);
contentPane.add(categoriaLivro);
//Texto Para referencia do Usuário Preço do Livro
lblPreoDoLivro = new JLabel("Pre\u00E7o do Livro");
lblPreoDoLivro.setFont(new Font("Arial", Font.BOLD, 12));
lblPreoDoLivro.setForeground(Color.BLUE);
lblPreoDoLivro.setBounds(10, 138, 104, 14);
contentPane.add(lblPreoDoLivro);
//Campo Para Digitar preçodo Livro
precoLivro = new JTextField();
precoLivro.setToolTipText("Digite o preço do livro");
precoLivro.addFocusListener(this);
precoLivro.addKeyListener(this);
contentPane.add(precoLivro);
precoLivro.setBounds(131, 136, 294, 20);
precoLivro.setColumns(10);
//Texto Para referencia do Usuário Estoque do Livro
JLabel lblEstoque = new JLabel("Estoque");
lblEstoque.setFont(new Font("Arial", Font.BOLD, 12));
lblEstoque.setForeground(Color.BLUE);
lblEstoque.setBounds(10, 188, 46, 14);
contentPane.add(lblEstoque);
//Campo Para Digitar Estoque do Livro
estoqueLivro = new JTextField();
estoqueLivro.setToolTipText("Digite o estoque do livro");
estoqueLivro.addKeyListener(this);
estoqueLivro.setBounds(131, 186, 293, 20);
contentPane.add(estoqueLivro);
estoqueLivro.setColumns(10);
//Botão Ok
btnOkIncluirLivro = new JButton("OK");
btnOkIncluirLivro.addKeyListener(this);
btnOkIncluirLivro.addActionListener(this);
btnOkIncluirLivro.setFont(new Font("Tahoma", Font.BOLD, 12));
btnOkIncluirLivro.setForeground(new Color(0, 0, 0));
btnOkIncluirLivro.setBounds(221, 217, 72, 23);
contentPane.add(btnOkIncluirLivro);
//Botão Cancelar
btnCancelar = new JButton("Cancelar");
btnCancelar.addKeyListener(this);
btnCancelar.addActionListener(this);
btnCancelar.setFont(new Font("Tahoma", Font.BOLD, 12));
btnCancelar.setBounds(330, 217, 94, 23);
contentPane.add(btnCancelar);
//Valida O TituLo do Livro
tituloLivro.setInputVerifier(new InputVerifier() {
public boolean verify(JComponent input) {
JTextField tituloLivro = (JTextField) input;
if ((tituloLivro.getText().length() > 100) || (tituloLivro.getText().trim().equals(""))) {
JOptionPane.showMessageDialog(null, "O titulo do livro não pode ficar em branco!\nTitulo deve ser preenchido com no máximo 100 caracteres!", "Erro de validação!", JOptionPane.ERROR_MESSAGE);
return false;
}
else{
l.setTituloLivro(tituloLivro.getText());
return true;
}
}
});
//Valida o Autor do Livro
autorLivro.setInputVerifier(new InputVerifier() {
public boolean verify(JComponent input) {
JTextField autorLivro = (JTextField) input;
if ((autorLivro.getText().length() > 100) || (autorLivro.getText().trim().equals(""))) {
JOptionPane.showMessageDialog(null, "O nome do autro do livro não pode ficar em branco!\nNome deve ser preenchido com no máximo 100 caracteres!", "Erro de validação!", JOptionPane.ERROR_MESSAGE);
return false;
}
else{
l.setTituloLivro(autorLivro.getText());
return true;
}
}
});
//Valida a Edição do Livro
edicaoLivro.setInputVerifier(new InputVerifier() {
public boolean verify(JComponent input) {
JTextField edicaoLivro = (JTextField) input;
if ((edicaoLivro.getText().length() > 3) || (edicaoLivro.getText().trim().equals(""))) {
JOptionPane.showMessageDialog(null, "A edição do livro não pode ficar em branco!\nEdição Deve ser preenchida com no máximo 3 aracteres!", "Erro de validação!", JOptionPane.ERROR_MESSAGE);
return false;
}
else{
l.setEdicaoLivro(Integer.parseInt(edicaoLivro.getText()));
return true;
}
}
});
//valida isbn livro
isbnLivro.setInputVerifier(new InputVerifier() {
public boolean verify(JComponent input) {
JTextField isbnLivro = (JTextField) input;
if ((isbnLivro.getText().length() !=13) ||(isbnLivro.getText().trim().equals(""))) {
JOptionPane.showMessageDialog(null, "O isbn do livro não pode ficar em branco!\nIsbn deve ser preenchido com exatamente 13 números!", "Erro de validação!", JOptionPane.ERROR_MESSAGE);
return false;
}
else{
l.setIsbnLivro(Long.parseLong(isbnLivro.getText()));
return true;
}
}
});
//valida preco livro
precoLivro.setInputVerifier(new InputVerifier() {
public boolean verify(JComponent input) {
JTextField precoLivro = (JTextField) input;
if ((precoLivro.getText().length() > 7) || (precoLivro.getText().trim().equals(""))) {
JOptionPane.showMessageDialog(null, "O preço do livro não pode ficar em branco!\nO preço deve ser preenchido com no máximo 7 caracteres!", "Erro de validação!", JOptionPane.ERROR_MESSAGE);
return false;
}
else{
l.setPrecoLivro(Double.parseDouble(precoLivro.getText()));
return true;
}
}
});
//Valida estoque livro
estoqueLivro.setInputVerifier(new InputVerifier() {
public boolean verify(JComponent input) {
JTextField estoqueLivro = (JTextField) input;
if ((estoqueLivro.getText().trim().equals(""))||(Long.parseLong(estoqueLivro.getText()) == 0)
||(Integer.parseInt(estoqueLivro.getText()) > 2147483646)){
JOptionPane.showMessageDialog(null, "O estoque do livro não pode ficar em branco!\n"
+ "Estoque deve ser maior que 0 e menor que 2147483648", "Erro de validação!", JOptionPane.ERROR_MESSAGE);
return false;
}
else{
l.setEstoqueLivro(Integer.parseInt(estoqueLivro.getText()));
return true;
}
}
});
}//Fim do Construtor edtTexto.grabFocus();
// Controla Isbn Preços e estoque com eventos do Teclado
public void keyReleased(KeyEvent e) {
if (e.getSource() == isbnLivro) {
do_isbnLivro_keyReleased(e);
}
if (e.getSource() == edicaoLivro) {
do_edicaoLivro_keyReleased(e);
}
if (e.getSource() == estoqueLivro) {
do_estoqueLivro_keyReleased(e);
}
if (e.getSource() == precoLivro) {
do_precoLivro_keyReleased(e);
}
}
public void keyTyped(KeyEvent e) {
}
//Controla edição Livro
protected void do_edicaoLivro_keyReleased(KeyEvent e) {
edicaoLivro.setText(edicaoLivro.getText().replaceAll("[^0-9]", ""));
}
//Controla isbn Livro
protected void do_isbnLivro_keyReleased(KeyEvent e) {
isbnLivro.setText(isbnLivro.getText().replaceAll("[^0-9]", ""));
}
//Controla Preco Livro
protected void do_precoLivro_keyReleased(KeyEvent e) {
precoLivro.setText(precoLivro.getText().replaceAll("[^0-9 | ^ . ]", ""));
}
//Controla o estoque
protected void do_estoqueLivro_keyReleased(KeyEvent e) {
estoqueLivro.setText(estoqueLivro.getText().replaceAll("[^0-9]", ""));
}
@Override
public void focusGained(FocusEvent e) {
// TODO Auto-generated method stub
}
@Override
public void focusLost(FocusEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
public void actionPerformed(ActionEvent e){
if ( ((String)categoriaLivro.getSelectedItem()).equals("") ) {
JOptionPane.showMessageDialog(null, "A Categoria do livro não pode ficar em branco.", "Erro de validação!", JOptionPane.ERROR_MESSAGE);
} else {
l.setCategoriaLivro(categoriaLivro.getSelectedItem().toString());// pega o valor do combox e converte para string
}
if (e.getSource() == btnCancelar){
System.exit(0);
}
else if (e.getSource() == btnOkIncluirLivro){
l.setTituloLivro(tituloLivro.getText());
l.setAutorLivro(autorLivro.getText());
l.setEdicaoLivro(Integer.parseInt(edicaoLivro.getText()));
l.setIsbnLivro(Long.parseLong(isbnLivro.getText()));
l.setCategoriaLivro((String)categoriaLivro.getSelectedItem());
l.setPrecoLivro(Double.parseDouble(precoLivro.getText()));
l.setEstoqueLivro(Integer.parseInt(estoqueLivro.getText()));
try{
con.inserir(l.tituloLivro, l.autorLivro, l.edicaoLivro, l.isbnLivro, l.categoriaLivro, l.precoLivro, l.estoqueLivro);
JOptionPane.showMessageDialog(null, "Livro incluido com sucesso");
}
catch(SQLException es){
JOptionPane.showMessageDialog(this, es.getMessage());
}
}
}
}[/code]