Foros del Web » Programación para mayores de 30 ;) » Java »

Insertar registros en BD

Estas en el tema de Insertar registros en BD en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 09/05/2016, 17:46
Avatar de Jose_A  
Fecha de Ingreso: mayo-2015
Ubicación: México, Sonora.
Mensajes: 180
Antigüedad: 9 años
Puntos: 0
Insertar registros en BD

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?, osea, 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 Java:
Ver original
  1. package unison.lcc;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.ResultSet;
  6. import java.sql.ResultSetMetaData;
  7. import java.sql.SQLException;
  8. import java.sql.Statement;
  9. import java.util.logging.Level;
  10. import java.util.logging.Logger;
  11.  
  12. public class Principal {
  13.     public static void main(String[] args) {
  14.         // TODO code application logic here
  15.         ConectorBD conector1 = new ConectorBD();
  16.         conector1.abrir();
  17.         conector1.comunicar();
  18.         conector1.cerrar();
  19.     }
  20.  
  21.     private static class ConectorBD {
  22.         Connection conexion=null;
  23.         public ConectorBD() {
  24.         }
  25.  
  26.         private void abrir() {
  27.             try {
  28.                 System.out.println("Abriendo BD");
  29.                 conexion= DriverManager.getConnection(
  30.                         "jdbc:mysql://148.225.83.3:3306/e5ingsoft2",
  31.                         "e5ingsoft2", "7MLtw21");
  32.                 System.out.println("Coenxion exitosa:"+conexion);
  33.             } catch (SQLException ex) {
  34.                 System.out.println("error de conexion"+ex.toString());
  35.             }
  36.         }
  37.  
  38.         private void leer() {
  39.             System.out.println("Comunicando con la bd");
  40.             String sql = "SELECT * FROM maestro;";
  41.             if(this.conexion!=null){
  42.                 try {
  43.                     //crear Sentencia
  44.                     Statement sentencia = conexion.createStatement();
  45.                     //ejecutar "query" en la bd
  46.                     ResultSet resultado = sentencia.executeQuery( sql );
  47.                     //imprimir resultados
  48.                     ResultSetMetaData meta = resultado.getMetaData();
  49.                     int n = meta.getColumnCount();
  50.                     for(int i=1; i<=n; i++){
  51.                         System.out.print("| "+ meta.getColumnName(i) + " |");
  52.                     }
  53.                     System.out.println("");
  54.                     while( resultado.next() ){
  55.                         System.out.print(resultado.getRow()+") ");
  56.                         for(int i=1; i<=n; i++){
  57.                             System.out.print(resultado.getObject(i) + " |");
  58.                         }
  59.                         System.out.println("");
  60. //                        System.out.println(resultado.getRow()+") "+
  61. //                                resultado.getObject(1) + " | " +
  62. //                                resultado.getObject(2)
  63. //                        );
  64.                     }
  65.                     System.out.println("");
  66.                 } catch (SQLException ex) {
  67.                     System.out.println("Error en la lectura de bd:"+ex.toString());
  68.                 }
  69.             }
  70.         }
  71.        
  72.         private void comunicar(){
  73.             this.insertar();
  74.             this.leer();
  75.         }
  76.  
  77.         private void cerrar() {
  78.             System.out.println("cerrando bd");
  79.             if(conexion!=null){
  80.                 try {
  81.                     conexion.close();
  82.                     System.out.println("Gracias por usar BD. Conexion cerrada!"+conexion);
  83.                 } catch (SQLException ex) {
  84.                     System.out.println("No puedo cerrar BD");
  85.                 }
  86.             }
  87.         }
  88.  
  89.         private void insertar() {
  90.             System.out.println("insertando en la bd");
  91.             String sql = "INSERT INTO maestro values("+(int)(Math.random()*100000)+
  92.                     ", 'Desconocido', 662123456, \"Desconocida\");";
  93.             if(this.conexion!=null){
  94.                 try {
  95.                     //crear Sentencia
  96.                     Statement sentencia = conexion.createStatement();
  97.                     //ejecutar "query" en la bd
  98.                     int resultado = sentencia.executeUpdate( sql );
  99.                     //imprimir resultados
  100.                     System.out.println("insercion realizada");
  101.                 } catch (SQLException ex) {
  102.                     System.out.println("Error en la lectura de bd:"+ex.toString());
  103.                 }
  104.             }
  105.         }
  106.     }    
  107. }

Alguna sugerencia??, gracias de antemano !!

Saludos.
  #2 (permalink)  
Antiguo 09/05/2016, 17:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Insertar registros en BD

Cita:
OFF TOPIC: Código de programación no permitido en foros de Bases de Datos.
Leer las normas del foro, por favor.
Movido a Foro de Java.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: bases-de-datos-general, bd, mysql, query, registros, resultados, select, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:57.