Autor Tema: Java conectar con base de datos MySql DriverManager.getConnection JDBC  (Leído 2863 veces)

Antoniio03

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Hola, buenas. Estoy trabajando con una base de datos específica para este trabajo, lo que he logrado hasta ahora es comunicarme a la base e imprimir lo que tenemos en esas tablas. Mi pregunta es: ¿Cómo crear ventanas gráficas para capturar nuevos datos?, o sea, crear por ejemplo un botón de "Insertar" que permita al usuario insertar cualquiera de los siguientes registros: un maestro, una materia, un eje de desarrollo o una seriacion de materias?...el código es este:

Código: [Seleccionar]
package unison.lcc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Principal {
    public static void main(String[] args) {
        // TODO code application logic here
        ConectorBD conector1 = new ConectorBD();
        conector1.abrir();
        conector1.comunicar();
        conector1.cerrar();
    }

    private static class ConectorBD {
        Connection conexion=null;
        public ConectorBD() {
        }

        private void abrir() {
            try {
                System.out.println("Abriendo BD");
                conexion= DriverManager.getConnection(
                        "jdbc:mysql://148.225.83.3:3306/e5ingsoft2",
                        "e5ingsoft2", "7MLtw21");
                System.out.println("Coenxion exitosa:"+conexion);
            } catch (SQLException ex) {
                System.out.println("error de conexion"+ex.toString());
            }
        }

        private void leer() {
            System.out.println("Comunicando con la bd");
            String sql = "SELECT * FROM maestro;";
            if(this.conexion!=null){
                try {
                    //crear Sentencia
                    Statement sentencia = conexion.createStatement();
                    //ejecutar "query" en la bd
                    ResultSet resultado = sentencia.executeQuery( sql );
                    //imprimir resultados
                    ResultSetMetaData meta = resultado.getMetaData();
                    int n = meta.getColumnCount();
                    for(int i=1; i<=n; i++){
                        System.out.print("| "+ meta.getColumnName(i) + " |");
                    }
                    System.out.println("");
                    while( resultado.next() ){
                        System.out.print(resultado.getRow()+") ");
                        for(int i=1; i<=n; i++){
                            System.out.print(resultado.getObject(i) + " |");
                        }
                        System.out.println("");
//                        System.out.println(resultado.getRow()+") "+
//                                resultado.getObject(1) + " | " +
//                                resultado.getObject(2)
//                        );
                    }
                    System.out.println("");
                } catch (SQLException ex) {
                    System.out.println("Error en la lectura de bd:"+ex.toString());
                }
            }
        }
       
        private void comunicar(){
            this.insertar();
            this.leer();
        }

        private void cerrar() {
            System.out.println("cerrando bd");
            if(conexion!=null){
                try {
                    conexion.close();
                    System.out.println("Gracias por usar BD. Conexion cerrada!"+conexion);
                } catch (SQLException ex) {
                    System.out.println("No puedo cerrar BD");
                }
            }
        }

        private void insertar() {
            System.out.println("insertando en la bd");
            String sql = "INSERT INTO maestro values("+(int)(Math.random()*100000)+
                    ", 'Desconocido', 662123456, \"Desconocida\");";
            if(this.conexion!=null){
                try {
                    //crear Sentencia
                    Statement sentencia = conexion.createStatement();
                    //ejecutar "query" en la bd
                    int resultado = sentencia.executeUpdate( sql );
                    //imprimir resultados
                    System.out.println("insercion realizada");
                } catch (SQLException ex) {
                    System.out.println("Error en la lectura de bd:"+ex.toString());
                }
            }
        }
    }   
}

Alguna sugerencia??, gracias de antemano !!

Saludos.
« Última modificación: 12 de Mayo 2016, 09:24 por Mario R. Rancel »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Buenos días, el problema que planteas trata básicamente de cómo crear una interfaz gráfica de usuario con Java. Hay distintos paquetes y frameworks que permiten hacer esto.

Para trabajar con entornos gráficos tienes que aprender a manejar tanto entornos gráficos como los eventos que genera el usuario (clicks en botones, posicionamiento del mouse, etc.).

Como entorno gráfico te recomiendo empezar con Swing: https://docs.oracle.com/javase/tutorial/uiswing/ dentro del tutorial swing hay partes dedicadas a eventos como https://docs.oracle.com/javase/tutorial/uiswing/events/index.html

En este hilo puedes ver un ejemplo: https://www.aprenderaprogramar.com/foros/index.php?topic=679.0

En este otro: https://www.aprenderaprogramar.com/foros/index.php?topic=3491.0

En este otro: https://www.aprenderaprogramar.com/foros/index.php?topic=4249.0

Etc.

Saludos.

Antoniio03

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Ya entiendo !, me servirá de ayuda, muchas gracias ! ;3

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".