JDBC con base de datos Access

Hola estimado lector, hoy voy a hablar de una tecnología, que di hace tiempo y es acerca de el uso de bases de datos access en Java. Para quien no lo sepa desde Java podemos acceder a una BDD, de access, todo se hace mediante el API ucanaccess, que el juego de sus letras se podría traducirse como «tú puedes acceder».

Para ello primero hay que configurar la base de datos de la siguiente forma, que aparece en los siguientes pasos:

  1. Archivo->Opciones->Criterio de ordenación de una nueva base de datos->General-Heredado
  2. Herramientas de base de datos-> Compactar y reparar base de datos
Luego hay que descargar la versión .jar de nuestra API ucanaccess, y añadirlo dentro de nuestro proyecto en la carpeta .bin(si no existe crearla) y mediante NetBeans añadir las bibliotecas.
Una vez aquí, la documentación es fácil de seguir. Sí queremos hacer un select debemos escribir:
try {
            Class.forName(«net.ucanaccess.jdbc.UcanaccessDriver»); /* often not required for Java 6 and later (JDBC 4.x) */

           

            Connection conn = DriverManager.getConnection(«jdbc:ucanaccess://.\Bibliooteca.accdb»);
            java.sql.Statement st = conn.createStatement();

            String sql = «SELECT * FROM tabla»;

            ResultSet rs = st.executeQuery(sql);
            Object[] fila = new Object[6];
            int i = 0;
            DefaultTableModel modelo = (DefaultTableModel) jTable1.getModel();
           

            while (rs.next()) {
                fila[0] = rs.getString(1);
                fila[1] = rs.getString(2);
                fila[2] = rs.getString(3);
                fila[3] = rs.getString(4);
                fila[4] = rs.getString(5);
                fila[5] = rs.getString(6);
                

                modelo.addRow(fila);

                //Sección 5
                jTable1.setModel(modelo);
                System.out.println(rs.getString(1));
//rs.getObject(«ATTACH_DATA») will return an array of net.ucanaccess.complex.Attachment
            }
            
          
            /*for (ResultSet r:rs){
             System.out.println(r.getString(1));
             }*/

        } catch (Exception ex) {
            System.out.println(ex.getMessage()+»»);
        }

Sí queremos hacer un insert debemos escribir:
 try {
            Class.forName(«net.ucanaccess.jdbc.UcanaccessDriver»); 

            String titulo,
                    ISBN,
                    autor,
                    númerodeejemplares,
                    editorial,
                    numerodepaginas;
            titulo = jTextTitulo.getText();
            ISBN = jTextIsbn.getText();
            autor = jTextAutor.getText();
            númerodeejemplares = jTextNumDeEje.getText();
            editorial = jTextEditorial.getText();
            numerodepaginas = jTextNumDePag.getText();
        
            Connection conn = DriverManager.getConnection(«jdbc:ucanaccess://.\Bibliooteca.accdb»);
            java.sql.Statement st = conn.createStatement();
            String sql = «INSERT INTO tabla VALUES (‘» + titulo + «‘, » + ISBN + «, ‘» + autor + «‘, » + númerodeejemplares + «, ‘» + editorial + «‘, » + numerodepaginas + «)»;
            st.execute(sql);
            JOptionPane.showMessageDialog(null, «Operación realizada correctamente»);
            jComboBoxActIns.addItem(ISBN+»»);
           
        } catch (Exception ex) {
            
            JOptionPane.showMessageDialog(null, ex.getMessage() + «», «ERROR», JOptionPane.WARNING_MESSAGE);

        }

Sí queremos hacer un update debemos escribir:
try {
            Class.forName(«net.ucanaccess.jdbc.UcanaccessDriver»); /* often not required for Java 6 and later (JDBC 4.x) */

            String titulo,
                    ISBN,
                    autor,
                    númerodeejemplares,
                    editorial,
                    numerodepaginas;
            titulo = jTextTitulo.getText();
            ISBN = jTextIsbn.getText();
            autor = jTextAutor.getText();
            númerodeejemplares = jTextNumDeEje.getText();
            editorial = jTextEditorial.getText();
            numerodepaginas = jTextNumDePag.getText();

            Connection conn = DriverManager.getConnection(«jdbc:ucanaccess://.\Bibliooteca.accdb»);
            java.sql.Statement st = conn.createStatement();
            String sql = «UPDATE tabla SET título = ‘» + titulo + «‘, ISBN = » + ISBN + «, autor = ‘» + autor + «‘, númerodeejemplares = » + númerodeejemplares + «, editorial = ‘» + editorial + «‘, numerodepaginas = » + numerodepaginas + » WHERE ISBN LIKE ‘» + ISBN + «‘;»;
           
            st.execute(sql);
            JOptionPane.showMessageDialog(null, «Operación realizada correctamente»);
            
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage() + «», «ERROR», JOptionPane.WARNING_MESSAGE);

        }

Pues hasta aquí mi tutorial de hoy, espero que os haya gustado, que hayáis aprendido algo, sin más me despido, hasta el próximo post 😁😁.

Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.

Tomas Gonzalez
Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad
Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
A %d blogueros les gusta esto: