Autor Tema: java conectar base de datos mysql statement jlabel jframe jtextfield  (Leído 18525 veces)

mily

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 12
    • Ver Perfil
hola
ya logre conectarme a la base de datos mysql con este codigo
Código: [Seleccionar]
package ejemplo;
 import java.sql.*;
//permite conectarse a sql
public class Ejemplo{

   static String bd = "cliente";
   static String login = "root";


   static String password = "448448";
   static String url = "jdbc:mysql://localhost/"+bd;

   public static void main(String[] args) throws Exception {
//se declara un objeto de tipo
      Connection conn = null;

      try {

         Class.forName("com.mysql.jdbc.Driver").newInstance();

         conn = DriverManager.getConnection(url,login,password);

         if (conn != null) {
            System.out.println("Conexión a base de datos "+url+" ... Ok");
            conn.close();
         }
      }
      catch(SQLException ex) {
         System.out.println("Hubo un problema al intentar conectarse con la base de datos "+url);
      }
      catch(ClassNotFoundException ex) {
         System.out.println(ex);
      }

   }
}
pero ahora nesesito qe me muestre una ventana ,en la qe inserte los datos y se guerden en la tabla en  mysql ,o almenos que muestre la ventana en la misma clase ejemplo que ya cree .........

este es el codigo que utilize para crear la ventana
Código: [Seleccionar]
package botones;

import java.awt.FlowLayout;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
 
 
public class tabla extends JFrame {   
 
    JLabel lbnombre,lbcorreo,lbtelefono,lberrores;
    JTextField txtnombre,txtcorreo,txttelefono;
   
    JButton btsiguiente,btverifresp;
    int tabla,respuesta,ac,er,rc;
   
 
    public tabla(){//constructor de la clase
          super("cliente");
          Container contenedor=super.getContentPane();
          setLocationRelativeTo(null);
          contenedor.setLayout(new FlowLayout());
          lbnombre=new JLabel("nombre");
          lbcorreo=new JLabel("correo");
          lbtelefono=new JLabel("telefono");
         
         
                   
          txtnombre=new JTextField(20); //longitud de la barra para texto
          txtcorreo = new JTextField(20);
          txttelefono=new JTextField(20);
     
          btsiguiente=new JButton("guardar");
     
         
          contenedor.add(lbnombre);
          contenedor.add(txtnombre);
          contenedor.add( lbcorreo);
           contenedor.add(txtcorreo);
          contenedor.add(lbtelefono);
          contenedor.add( txttelefono);
          contenedor.add(btsiguiente);
         
          ManejaEventoBoton meb=new ManejaEventoBoton();
         
          btsiguiente.addActionListener(meb);
          super.setSize(300,300);
          super.setVisible(true);
                       
         
    }
 
       
    public static void main(String[] args) {
            tabla t= new tabla();
 
 
    }
   
   
   class ManejaEventoBoton implements ActionListener{
        public void actionPerformed(ActionEvent e) {
 
        }
     
   }



« Última modificación: 03 de Julio 2014, 09:29 por Alex Rodríguez »

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:como puedo combinar estas clases ¡¡?
« Respuesta #1 en: 05 de Abril 2014, 09:20 »
Un programa java normalmente solo tiene un método main, en una clase. Tú aquí tienes dos métodos main. Lo que tendrías que hacer es eliminar el método main de la clase tabla e incluir dentro del método main de la clase ejemplo la instrucción tabla t= new tabla();

Todos los procesos que dirigen el programa tienes que meterlos dentro de un único método main que puede ir utilizando objetos del resto de clases que tengas creadas. Saludos.

mily

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 12
    • Ver Perfil
Re:como puedo combinar estas clases ¡¡?
« Respuesta #2 en: 07 de Abril 2014, 00:28 »
ya lo he logrado
Código: [Seleccionar]
package botones;
import java.sql.*;
import java.awt.FlowLayout;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
 
 
public class tabla extends JFrame {   
 
   
    JLabel lbnombre,lbcorreo,lbtelefono;
    JTextField txtnombre,txtcorreo,txttelefono;
   
    JButton btguardar;
    int tabla,nombre,correo,telefono;
   
 static String bd = "cliente";
   static String login = "root";


   static String password = "448448";
   static String url = "jdbc:mysql://localhost/"+bd;
    public tabla(){//constructor de la clase
          super("cliente");
          Container contenedor=super.getContentPane();
          setLocationRelativeTo(null);
          contenedor.setLayout(new FlowLayout());
          lbnombre=new JLabel("nombre");
          lbcorreo=new JLabel("correo");
          lbtelefono=new JLabel("telefono");
         
         
                   
          txtnombre=new JTextField(20); //longitud de la barra para texto
          txtcorreo = new JTextField(20);
          txttelefono=new JTextField(20);
     
          btguardar=new JButton("guardar");
     
         
          contenedor.add(lbnombre);
          contenedor.add(txtnombre);
          contenedor.add( lbcorreo);
           contenedor.add(txtcorreo);
          contenedor.add(lbtelefono);
          contenedor.add( txttelefono);
          contenedor.add(btguardar);
     
          super.setSize(300,300);
          super.setVisible(true);

    }
 
       
    public static void main(String[] args) {
            tabla t= new tabla();
 
    Connection conn = null;

      try {


         conn = DriverManager.getConnection(url,login,password);

         if (conn != null) {
            System.out.println("Conexión a base de datos "+url+" ... Ok");
            conn.close();
         }
      }
     
     
      catch(SQLException ex) {
         System.out.println("Hubo un problema al intentar conectarse con la base de datos "+url);
    }
   
 
{
 
}
 
    try
{


}
catch(Exception e)
{

}
   
     }
   
     

    }



pero ahora necesito ingresar datos (el nombre,correo y telefono)y que al oprimir el boton guardar se guarden en la base de datos mysql.  :-[

Mastermind

  • Experto
  • *****
  • Mensajes: 536
    • Ver Perfil
Re:como puedo combinar estas clases ¡¡?
« Respuesta #3 en: 07 de Abril 2014, 08:59 »
Para guardar en base de datos crea un statement como en este ejemplo:

Statement statement = conn.createStatement();
statement.executeUpdate("INSERT INTO NombreDeTuTabla" + "VALUES ('Manuel', 'manuel@hotmail.com', '7722334433')");


Recuerda que una vez termines de operar debes cerrar la conexión con la base de datos:

conn.close();


 

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