Database 'livro' not found. - JDBC Derby - Problema para conectar ao banco de dados

0 respostas
T

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
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()) > [telefone removido])){    
                             JOptionPane.showMessageDialog(null, "O estoque do livro não pode ficar em branco!\n"
                                     + "Estoque deve ser maior que 0 e menor que [telefone removido]", "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());

                    }
        }
            }
    }
Criado 20 de novembro de 2013
Respostas 0
Participantes 1