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:
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.