lunes, 28 de noviembre de 2011

Base de Datos con Netbeans y MySQL




Pequeña introducción a las bases de datos:

Una vez iniciada la terminal (o CMD en Microsoft) procedemos a crear la tabla PRODUCTOS, para eso se usa el comando sql CREATE TABLE:


CREATE TABLE productos(
Producto VARCHAR (10),    <----- 10 caracteres para escribir en un 
Cantidad NUMERIC (2),                  campo que guarda tanto números como letras
precio NUMERIC (5)  <----- En ORACLE se usa NUMBER en lugar de NUMERIC
);
Luego insertamos datos dentro de la tabla productos con el comando INSERT INTO:
insert into productos values ( 'LapTop', 23, 4000);   <-----Recordar que las cadenzas de 
insert into productos values ( 'Mouse', 3, 300);                  caracteres van con comillas simples  '
insert into productos values ( 'Pantalla', 10, 3500);
insert into productos values ( 'DiscoDuro', 2, 600);
insert into productos values ( 'CDs', 99,10);


Verificamos que los datos se hayan insertado con el comando SELECT FROM:

Select * From productos;

De esa manera se ha creado la base de datos de los productos para poder usarla en NetBeans.
Conectando Con NetBeans
//Se importa la libreria de la jTable y de la base de datos SQL
import   javax.swing.table.DefaultTableModel;
import   java.sql.*;

         String db = "Eriolmk1";  //Nombre de la base de datos
         String url = "jdbc:mysql://localhost:3306/"+db;
         String user = "root";  //Usuario de MySql
         String pass = "Er6U%h&8y";  //Password de entrada
         DefaultTableModel modelo;
         String sSQL = "";

public Connection conectar(){
    
      //Se crea una conexión llamada LINK
      Connection link = null;
try
    {
    //Se le pasan los datos de coneccion a la variable LINK
    link = DriverManager.getConnection(url, userpass);
    }
catch (Exception ex) //Se guarda el mensaje de error (en caso de existir) en la variable EX
    {
     //Se muestra el mensaje de error guardado en la variable EX
    JOptionPane.showMessageDialog (null, ex);
    }
return link; 
}


void CargarTablaProductos(){

        
        //Se crean 2 arrays para guardar datos extraidos de la base de datos

        //En uno de los arrays se declaran los nombres de las columnas MANUALMENTE
        String[] titulos = {"PRODUCTO", "CANTIDAD", "PRECIO"};
        String[] registro = new String[3];
        
        //Se cargan los títulos de las columnas a la tabla
        modelo = new DefaultTableModel  (null, titulos);
        
        //Se usa la coneccion para establecer contacto con la base de datos de MySQL
        Connection cn = conectar();
        
        //Hay que guardar en la variable la instrucción que "pasaremos" a MySQL
        sSQL = "SELECT * from Productos";
        try 
        {
            //HAy que mandar la instrucción a MySQL con el Statement y el resultado de ese 
            //comando se guarda en un ResulSet
            //(ambos pertenecen a la libreria IMPORT JAVA.SQL )

            Statement st = (Statement) cn.createStatement();
            ResultSet rs = st.executeQuery(sSQL);
            
           //El ResultSet se explora y se extraen los datos para guardarlos
          // en los arrays creados anteriormente
            while (rs.next())
            {
                registro [0] = rs.getString("Producto");
                registro [1] = rs.getString("Cantidad");
                registro [2] = rs.getString("Precio");

               // Al "modelo" de la jTable se mandan los datos guardados en los arrays
                modelo.addRow(registro);
            }
            //Una vez se ha terminado el llenado del modelo, este se manda a la jTable
            jTable1.setModel (modelo);
        } 
        catch (SQLException ex)
        {
            JOptionPane.showMessageDialog(null, ex);
           
        }
     
    }

//Accion del botón para cargar la tabla

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
      CargarTablaProductos();
    } 


INSERTAR DATOS Y BORRAR DATOS +++++++++++++++++++

/////Para poder insertar y borrar datos de la base en MySQL hay que insertar 3 jTextField y 3 /////jLabel ademas de 2 botones nuevos que servirán para insertar y borrar datos.






//////Se crean las sig. funciones

void  insertar(){
    
    String prod = jTextField1.getText();
    String cant = jTextField2.getText();
    String prec = jTextField3.getText();
    
    Connection con = conectar();
    
    sSQL = "Insert Into productos values ('"+prod+"',"+cant+","+prec+");";
    
    try
    {
        Statement st = (Statement) con.createStatement();
        st.executeUpdate(sSQL);
    }
    catch(SQLException ex){
        JOptionPane.showMessageDialog(null,ex);  
    }
    
}


BORRAR DATOS+++++++++++++++++++++


void borrar(){
    
     String prod = jTextField1.getText();
    
    Connection con = conectar();
    
    sSQL = "delete from productos where producto = '"+ prod+"';";

try
    {
        Statement st = (Statement) con.createStatement();
        st.execute(sSQL);
    }
    catch(SQLException ex){
        JOptionPane.showMessageDialog(null,ex);  
    }


}

// y luego se procede a agregarlas a los nuevos botones+++++++++++++++

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
        insertar();
    }

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
        borrar();
    }


Para que estos botones funcionen es necesario que los campos con los jTextField sean llenados y con el tipo de dato correcto+++++++++++


NOTA
**Recuerden que se deve instalar MySQL y descargar el j/conector de la pagina de MySQL
si tienen duda de como instalar el conector para MySQL aquí les dejo un link del tutorial del conector  http://eriolmkprogramming.blogspot.mx/2011/09/conectar-vb-net-con-mysql.html, descarguenlo y sigan el tutorial del paso 1 al 4. cualquier duda dejen un comentario


5 comentarios:

Este comentario ha sido eliminado por el autor.
Este comentario ha sido eliminado por el autor.
Este comentario ha sido eliminado por el autor.

Llenar una tabla con MYSQL y netbeans
void Llenar(){
try{
conn=Conexion.GetConnection();
String[]titulos = {"id","NombreEmpleado" , "Cargo" , "Sueldo" };
String sql="Select * from empleados";
model = new DefaultTableModel(null, titulos);
sent=conn.createStatement();
ResultSet rs = sent.executeQuery(sql);
//nombre de base de datos

String[]fila=new String[4];
while(rs.next()){
fila[0]=rs.getString("id_emp");
fila[1]=rs.getString("nombre_emp");
fila[2]=rs.getString("cargo");
fila[3]=rs.getString("sueldo");

model.addRow(fila);
}
jTable1.setModel(model);

}catch(Exception e){
e.printStackTrace();

}

Hola, tenemos un proyecto de el control de un invernadero...Y tenemos que guardar los datos recibidos desde un sensor en una base de datos, esto a través de Java. Me podrías ayudar con esta parte del envio de la lectura del sensor a una base de datos?

Gracias de antemano!!

Publicar un comentario

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More