|
71
|
Programación / Java / Insertar registros en BD
|
en: 10 Mayo 2016, 19:01 pm
|
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: 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 static void main (String[] args ) { // TODO code application logic here ConectorBD conector1 = new ConectorBD(); conector1.abrir(); conector1.comunicar(); conector1.cerrar(); } private static class ConectorBD { public ConectorBD() { } private void abrir() { try { System. out. println("Abriendo BD"); "jdbc:mysql://148.225.83.3:3306/e5ingsoft2", "e5ingsoft2", "7MLtw21"); System. out. println("Coenxion exitosa:"+conexion ); 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 int n = meta.getColumnCount(); for(int i=1; i<=n; i++){ System. out. print("| "+ meta. getColumnName(i ) + " |"); } while( resultado.next() ){ System. out. print(resultado. getRow()+") "); for(int i=1; i<=n; i++){ System. out. print(resultado. getObject(i ) + " |"); } // System.out.println(resultado.getRow()+") "+ // resultado.getObject(1) + " | " + // resultado.getObject(2) // ); } 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 ); 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"); System. out. println("Error en la lectura de bd:"+ex. toString()); } } } } }
Alguna sugerencia??, gracias de antemano !! Saludos. MOD EDIT: Etiqueta GeSHi corregida.
|
|
|
74
|
Programación / Java / Re: Manejo de hilos
|
en: 7 Mayo 2016, 22:17 pm
|
Este es: import java.awt.*;import java.awt.event.ActionEvent; import javax.swing.*; public class SierpinskiCarpet extends JPanel { private final int dim = 513; private final int margin = 20; private int limit = dim; public SierpinskiCarpet() { setPreferredSize(new Dimension(dim + 2 * margin, dim + 2 * margin)); setBackground(Color.white); setForeground(Color.black); new Timer(2000, (ActionEvent e) -> { limit /= 3; if (limit <= 3) limit = dim; repaint(); }).start(); } void drawCarpet(Graphics2D g, int x, int y, int size) { if (size < limit) return; size /= 3; for (int i = 0; i < 9; i++) { if (i == 4) { g.fillRect(x + size, y + size, size, size); } else { drawCarpet(g, x + (i % 3) * size, y + (i / 3) * size, size); } } } @Override public void paintComponent(Graphics gg) { super.paintComponent(gg); Graphics2D g = (Graphics2D) gg; g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g.translate(margin, margin); drawCarpet(g, 0, 0, dim); } public static void main(String[] args) { SwingUtilities.invokeLater(() -> { JFrame f = new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setTitle("Alfombra de Sierpinski"); f.setResizable(false); f.add(new SierpinskiCarpet(), BorderLayout.CENTER); f.pack(); f.setLocationRelativeTo(null); f.setVisible(true); }); } }
|
|
|
75
|
Programación / Java / Re: Manejo de hilos
|
en: 6 Mayo 2016, 23:30 pm
|
Ese es el problema, no fui la última semana de clase y no tengo idea de cómo trabajar con hilos, investigué en internet pero no puedo hacer que funcione usando hilos para cada cuadrado @.@
|
|
|
78
|
Programación / Java / Re: Saber cuántas veces se repiten letras
|
en: 26 Abril 2016, 05:40 am
|
Bien, hice esto: try{ FileReader fr = new FileReader(cajaTexto.getText()); BufferedReader br = new BufferedReader(fr); String texto; while((texto=br.readLine())!=null){ System.out.println(texto); } int c = 0; for(int i=0;i<texto.length();i++) { if ((texto.charAt(i)=='a')){ c++; } System.out.println( "La letra (a) se repite " + c + " veces en el archivo."); } }catch(Exception ex){} } Sería sólo para la letra "a" , entonces tendría que hacer un ciclo para cada letra del abecedario D:
|
|
|
80
|
Programación / Java / Saber cuántas veces se repiten letras
|
en: 24 Abril 2016, 23:04 pm
|
Hola, buenas. Ando buscando la forma de saber cuántas letras del abecedario se repiten en cualquier archivo de texto que se lea en el programa. Ya hice la parte lectora del archivo, pero no se cómo contar las letras e imprimir el número de veces que se repite cada una. Entonces, lo que tengo hasta ahora es esto: *La idea es examinar el archivo (Hecho) *Después Leerlo e imprimirlo (Hecho) *Lo tercero es crear la frecuencia de letras, osea, cuántas veces sale "a", cuantas "b", etc. e imprimirlo en un JOptionPane o en una gráfica.(No Hecho) Alguna sugerencia para llevar acabo la tercera parte?? Gracias de antemano ! Aquí el programa por si es necesario una revisión: https://mega.nz/#!CJYVVRwI!MTb-vq_NBvxia7ZibDJoiE2YwmoVtPEOOEu4D_NxTsU
|
|
|
|
|
|
|