SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
GUIA 7
Conexión a Base de Datos con NetBeans IDE 6.1   Facultad: Ingeniería
                                                Escuela: Computación
                                                Asignatura: Java.




                                                        GUÍA 6   pág. 1
I. OBJETIVOS.


       El estudiante podrá Conectarse a los Gestores de Base de Datos (MySQL o
       SQLServer 2005).
       El estudiante podrá hacer capaz de hacer conexiones directamente desde un
       formulario utilizando NetBeans IDE 6.1 con SQLServer 2005.


II. INTRODUCCIÓN.


Conexión a la base de datos.

Para conectarse a la base de datos, para lo cual básicamente hay que realizar dos pasos.
   1. Registrar (Cargar en Memoria) el controlador. Esto se puede hacer de dos formas:

              De forma dinámica, por medio del método Class.forName(String de
              driver). Esta es la forma más usual y la que usaremos en la mayor parte de
              los ejemplos.

              Ejemplos de carga dinámica:

                * En MySQL local: Class.forName("com.mysql.jdbc.Driver");
                * En Oracle: Class.forName("oracle.jdbc.Driver.OracleDriver");

              De manera estática,       usando    System.setProperties("jdbc.drivers",
              String de driver).

   2. Establecer la conexión por medio del método DriverManager

       Connection conexion =
       DriverManager.getConnection("jdbc:mysql://localhost/
       java?user=root&password=admin");

DriverManager tiene muchos métodos getConnection() con parámetros variados. Todos
son variantes de lo mismo y la información que suministramos es la misma. Aquí hemos
utilizado uno con tres parámetros String.

NOTA: Si todo va bien, tendremos nuestra conexión a la base de datos. Si va mal,
saltará una excepción. Por eso es importante (y obligatorio para que compile) meter
todo esto en un try-catch.




                                                                          GUÍA 6   pág. 2
Para enviar comandos SQL a la base de datos, se usa la clase Statement de java. Esta
clase se obtiene a partir de la conexión, de esta forma:

       Statement instruccion = conexion.createStatement();

Por supuesto, dentro de un try-catch.

Statement tiene muchos métodos, pero hay dos interesantes: executeUpdate() y
executeQuery(). El primero se usa para sentencias SQL que implica modificaciones en la
base de datos (INSERT, UPDATE, DELETE, etc). El segundo sólo para consultas
(SELECT y similares).


Consultar datos de la base de datos
Vamos a hacer ahora una consulta de los datos que acabamos de insertar en la base de
datos. Las consultas se hacen con executeQuery() y nos devolverán un ResultSet.

El ResultSet de alguna forma representa una conexión hacia los datos. En el ResultSet
NO están todavía los datos. Según se los vayamos pidiendo, los irá trayendo de base de
datos. Esto quiere decir que si una consulta devuelve muchos resultados, no se nos va a
llenar la memoria por el hecho de hacer la consulta.

Para traer el primer resultado, debemos llamar el método next() del ResulSet. Para el
siguiente otro next() y así sucesivamente hasta que next() devuelva false, indicando que
ya no quedaban datos. El código puede ser así


ResultSet tabla = instruccion.executeQuery("select Cod_materia, Nombre_materia,
                 Descripcion from materia");
System.out.println("Cod_materiatNombre_materiatDescripcion");
while(tabla.next())
System.out.println(tabla.getInt(1)+"t"+tabla.getString(2)+"t"+ tabla.getString(3));

Hemos hecho un SELECT para obtener los datos. Luego un bucle while(table.next()), es
decir, mientras next() vaya trayendo los resultados.

Después de next(), el resultado está disponible en el ResulSet. La forma de recoger los
campos es pedirlos con algún método get(). Si sabemos de qué tipo es el dato, podemos
pedirlo con getInt(), getString(), etc. Si no lo sabemos o nos da igual (como en este
caso), bastará con un getObject(), capaz de traer cualquier tipo de dato.

En estos métodos get() podemos pasar como parámetro un entero, empezando en 1, que
es el número del campo en el SELECT. Es decir, si hacemos SELECT campo1, campo2,
campo3 ..., si pedimos getObject(1) obtenemos el valor de campo1, para getObject(2) el
de campo2, etc.




                                                                         GUÍA 6    pág. 3
Cerramos conexiones
Los Connection, Statement y ResultSet con conexiones abiertas con base de datos.
Debemos cerrarlas.

ResultSet se cierra solo cuando hacemos otra llamada execute() al Statement del que
obtuvimos este ResultSet o bien cuando el recolector de basura "recolecta" al ResultSet.
No nos preocupa en principio que se quede abierto, porque se acabará cerrando solo.

Eso sí, no podemos hacer nada con el Statement hasta que hayamos terminado con el
ResultSet o se nos cerrará. Si necesitamos realizar otra cosa con base de datos,
debemos crear otro Statement distinto.

Cuando terminemos con el Statement, lo cerramos con st.close().

Cuando terminemos con la Connection, la cerramos con conexion.close().




Tratamiento de Excepciones (try-catch)
En Java, como en cualquier otro lenguaje de programación, pueden existir situaciones en
la que el programa falle. Java llama a estos errores excepciones.

Para tratar excepciones deberemos usar la instrucción try (que significa intentar en
español).

 1. try
 2. {
 3. //declaración que causa la excepción
 4. }

Entre las llaves de try escribiremos el código que hará funcional nuestro programa. Para
capturar la excepción que puede generar este código necesitaremos otra instrucción
llamada catch (capturar).

 1. catch(NombredeExcepcion obj)
 2. {
 3.   //código para tratar el error
 4. }




                                                                         GUÍA 6    pág. 4
PROCEDIMIENTO.



OJO: Los ejemplos 1 y 2, la salida de dichas Conexión y Consultas las
podrá visualizar en el Output.
Ejemplo No 1.

Con MYSQL
Nombre de la Clase Programa.java


 import java.sql.*;

 public class Programa {

   public static void main(String args[])
   {
     try
     {
       //Cargar clase de controlador de base de datos
       Class.forName("com.mysql.jdbc.Driver");
       //Crear el objeto de conexion a la base de datos
       Connection conexion =
 DriverManager.getConnection("jdbc:mysql://localhost/java?user=root&password=admin");
       Statement instruccion = conexion.createStatement();
       //Un objeto ResultSet, almacena los datos de resultados de una consulta
       ResultSet tabla = instruccion.executeQuery("select Cod_materia, Nombre_materia,
                         Descripcion from materia");
       System.out.println("Cod_materiatNombre_materiatDescripcion");
       while(tabla.next())
         System.out.println(tabla.getInt(1)+"t"+tabla.getString(2)+"t"+ tabla.getString(3));
         instruccion.close();
         conexion.close();
     }
     catch(ClassNotFoundException e){ System.out.println(e); }
     catch(SQLException e){ System.out.println(e); }
   }
 }




                                                                            GUÍA 6     pág. 5
Ejemplo No 2.

Con SQL Server
Nombre de la Clase ProgramaSQLServer.java



 import java.sql.*;

 public class ProgramaSQLServer {

   /**
    * @param args the command line arguments
    */
   public static void main(String[] args)
   {
       // TODO code application logic here
       try
       {
     //Cargar clase de controlador de base de datos
       Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
     //Crear el objeto de conexion a la base de datos
       Connection conexion =
 DriverManager.getConnection("jdbc:sqlserver://SQLSERVER:1433;databaseName=java;us
 er=sa;password=sql2005");
     //Crear objeto Statement para realizar queries a la base de datos
       Statement instruccion = conexion.createStatement();
     //Un objeto ResultSet, almacena los datos de resultados de una consulta
       ResultSet tabla = instruccion.executeQuery("select Cod_materia, Nombre_materia,
 Descripcion from materia");
       System.out.println("Codigo de la materiatNombre de la MateriatDescripcion");
       while(tabla.next())

 System.out.println("t"+tabla.getInt(1)+"tt"+tabla.getString(2)+"tt"+tabla.getString(3));
      }
      catch(ClassNotFoundException e){ System.out.println(e); }
      catch(SQLException e){ System.out.println(e); }
    }
 }




                                                                              GUÍA 6    pág. 6
Conexión a SQLServer 2005 con NetBeans IDE 6.1


Ejemplo No 3.


   1. Primeramente hay que agregar al proyecto una java class que tendrá el Nombre
      de Conexion1.java

 public class Conexion1
 {
 //Nombre del controlador JDBC y URL de la base de datos
     static final String CONTROLADOR_JDBC =
 "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    static final String URL_BASEDEDATOS =
 "jdbc:sqlserver://SQLSERVER:1433;databaseName=java;user=sa;password=sql2005";}



   2. Agregar al proyecto un     contenedor de JFrame Form con el nombre de
      JFMantenimientoAlumno.java. Y hacer los cambios que se muestran en la tabla
      de la figura 1.




                                     Figura 1.


                                                                      GUÍA 6   pág. 7
Control      Propiedad   Eventos           Código          Valor
JFrame       title                                         Formulario de
                                                           Estudiantes
JLabel1      font                                          Tahoma 18 Bold
             text                                          Mantenimiento
                                                           de Estudiante.
JPanel1      border                        Titled Border   Información de
                                                           Estudiante.
JLabel2      text                                          Codigo:
JLabel3      text                                          Apellidos:
JLabel4      text                                          Nombres:
JTextField   text                          Variable Name   ecodigo
JTextField   text                          Variable Name   eapellidos
JTextField   text                          Variable Name   enombres
JPanel2      border                        Titled Border   Mantenimientos
JButton      text                                          Buscar
                         actionPerformed                   buscar
                                           Variable Name   mbuscar
JButton      text                                          Insertar
                         actionPerformed                   insertar
                                           Variable Name   minsertar
JButton      text                                          Borrar
                         actionPerformed                   borrar
                                           Variable Name   mborrar
JButton      text                                          Salir
                         actionPerformed                   salir
                                           Variable Name   msalir




                                                            GUÍA 6   pág. 8
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import java.sql.Connection;
import java.sql.DriverManager;

public class JFMantenimientoAlumno extends javax.swing.JFrame
{
private Connection conexion;
private Statement instruccion;
private ResultSet conjuntoResultados;

  /** Creates new form JFMantenimientoAlumno */
  public JFMantenimientoAlumno() throws SQLException
  {
    initComponents();
    try
    {
      Class.forName(Conexion1.CONTROLADOR_JDBC);
      conexion = DriverManager.getConnection( Conexion1.URL_BASEDEDATOS );
       instruccion= conexion.createStatement();
     }
    catch(ClassNotFoundException e )
    {
     JOptionPane.showMessageDialog(null,e.getMessage(),"Error en los controladores
                                      JDBC", JOptionPane.ERROR_MESSAGE);
    }
    catch(SQLException e)
    {
     JOptionPane.showMessageDialog(null,e.getMessage(),"Error en la base de datos",
                                      JOptionPane.ERROR_MESSAGE);
    }
  }

  /** This method is called from within the constructor to
   * initialize the form.
   * WARNING: Do NOT modify this code. The content of this method is
   * always regenerated by the Form Editor.
   */
  @SuppressWarnings("unchecked")




                                                                       GUÍA 6   pág. 9
private void salir(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
   System.exit(0);
}

private void borrar(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
   ecodigo.setText("");
   enombres.setText("");
   eapellidos.setText("");
}

private void buscar(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
   String consulta="";

    consulta= "select Cod_alumno, Apellidos, Nombres from alumno where Cod_alumno
              ='" + ecodigo.getText().toString() + "'";

    try
    {
       conjuntoResultados= instruccion.executeQuery(consulta);

      while (conjuntoResultados.next())
      {
      eapellidos.setText(conjuntoResultados.getString(2));
      enombres.setText(conjuntoResultados.getString(3));
      }

    }
    catch(SQLException e)
    {
     JOptionPane.showMessageDialog(null, e.getMessage(),"Error al mostrar los datos.",
                                  JOptionPane.ERROR_MESSAGE);
    }
}




                                                                         GUÍA 6    pág. 10
private void insertar(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
   String insertar="";

    insertar = "insert into alumno (Cod_alumno, Apellidos, Nombres) values ('" +
               ecodigo.getText().toString()+ "'" + ",'" + eapellidos.getText().toString() +
               "','" + enombres.getText().toString() + "')";

    try
    {
       if (ecodigo.getText().equals(""))
       {
        JOptionPane.showMessageDialog(rootPane,"Espeficar el codigo de Estudiante y
                                          Materia");
       }
       else
       {
        instruccion.executeUpdate(insertar);
        JOptionPane.showMessageDialog(rootPane, "Registrado Estudiante con Exito !!");
       }
    }
    catch (SQLException e)
    {
     JOptionPane.showMessageDialog(null, e.getMessage(), "Error en la base de datos",
                                         JOptionPane.ERROR_MESSAGE);
    }
}

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
       java.awt.EventQueue.invokeLater(new Runnable() {
          public void run() {
            try {
               new JFMantenimientoAlumno().setVisible(true);
            } catch (SQLException ex) {

Logger.getLogger(JFMantenimientoAlumno.class.getName()).log(Level.SEVERE, null,
ex);
          }
        }
     });
  }




                                                                               GUÍA 6    pág. 11
// Variables declaration - do not modify
     private javax.swing.JTextField eapellidos;
     private javax.swing.JTextField ecodigo;
     private javax.swing.JTextField enombres;
     private javax.swing.JLabel jLabel1;
     private javax.swing.JLabel jLabel2;
     private javax.swing.JLabel jLabel3;
     private javax.swing.JLabel jLabel4;
     private javax.swing.JPanel jPanel1;
     private javax.swing.JPanel jPanel2;
     private javax.swing.JButton mborrar;
     private javax.swing.JButton mbuscar;
     private javax.swing.JButton minsertar;
     private javax.swing.JButton msalir;
     // End of variables declaration

  }


3- Crear un formulario de mantenimiento para la tabla materia




                                                                GUÍA 6   pág. 12

Weitere ähnliche Inhalte

Was ist angesagt?

Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Ronald Cuello
 
LABORATORIO DE PROGRAMACIÓN I.
LABORATORIO DE PROGRAMACIÓN I.LABORATORIO DE PROGRAMACIÓN I.
LABORATORIO DE PROGRAMACIÓN I.SILVA19_PAMELA
 
Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gioRobert Wolf
 
Bases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCBases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCCarlos Hernando
 
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANSTutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANSWilliam Diaz S
 
Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2mtemarialuisa
 
Continuacion ejemplo de base de datos y reports con jasper report
Continuacion ejemplo de base de datos y reports con jasper reportContinuacion ejemplo de base de datos y reports con jasper report
Continuacion ejemplo de base de datos y reports con jasper reportjbersosa
 
Guía Practica conexión BD 2021
Guía Practica conexión BD  2021Guía Practica conexión BD  2021
Guía Practica conexión BD 2021lissette_torrealba
 
Guia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansGuia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansEmerson Garay
 
109545688 conexion-de-sql-a-java
109545688 conexion-de-sql-a-java109545688 conexion-de-sql-a-java
109545688 conexion-de-sql-a-javaMiguel Ángel
 
Introducción práctica a JPA2
Introducción práctica a JPA2Introducción práctica a JPA2
Introducción práctica a JPA2jion1987
 
Ser vlet conectar con base de datos
Ser vlet conectar con base de datosSer vlet conectar con base de datos
Ser vlet conectar con base de datosDavid
 

Was ist angesagt? (20)

Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)Persistencia De Objetos(Hibernate)
Persistencia De Objetos(Hibernate)
 
LABORATORIO DE PROGRAMACIÓN I.
LABORATORIO DE PROGRAMACIÓN I.LABORATORIO DE PROGRAMACIÓN I.
LABORATORIO DE PROGRAMACIÓN I.
 
Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gio
 
Bases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBCBases de Datos en Java - Intro a JDBC
Bases de Datos en Java - Intro a JDBC
 
Tema 6
Tema 6Tema 6
Tema 6
 
Java persitence api
Java persitence apiJava persitence api
Java persitence api
 
JAVA CON BASE DE DATOS
JAVA CON BASE DE DATOSJAVA CON BASE DE DATOS
JAVA CON BASE DE DATOS
 
JPA en Netbeans
JPA en NetbeansJPA en Netbeans
JPA en Netbeans
 
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANSTutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
 
Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2
 
Continuacion ejemplo de base de datos y reports con jasper report
Continuacion ejemplo de base de datos y reports con jasper reportContinuacion ejemplo de base de datos y reports con jasper report
Continuacion ejemplo de base de datos y reports con jasper report
 
Sql dataadapter
Sql dataadapterSql dataadapter
Sql dataadapter
 
Guía Practica conexión BD 2021
Guía Practica conexión BD  2021Guía Practica conexión BD  2021
Guía Practica conexión BD 2021
 
Guia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansGuia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando Netbeans
 
109545688 conexion-de-sql-a-java
109545688 conexion-de-sql-a-java109545688 conexion-de-sql-a-java
109545688 conexion-de-sql-a-java
 
Introducción práctica a JPA2
Introducción práctica a JPA2Introducción práctica a JPA2
Introducción práctica a JPA2
 
feedback
feedbackfeedback
feedback
 
Ser vlet conectar con base de datos
Ser vlet conectar con base de datosSer vlet conectar con base de datos
Ser vlet conectar con base de datos
 
Tutorial jsp
Tutorial jspTutorial jsp
Tutorial jsp
 
5 a bd_servidor
5 a bd_servidor5 a bd_servidor
5 a bd_servidor
 

Andere mochten auch

Guia N3 Proyectos Web Php Css, Js
Guia N3   Proyectos Web   Php Css, JsGuia N3   Proyectos Web   Php Css, Js
Guia N3 Proyectos Web Php Css, JsJose Ponce
 
Guia N5 Proyectos Web Consultas Php Y My Sql
Guia N5   Proyectos Web   Consultas Php Y My SqlGuia N5   Proyectos Web   Consultas Php Y My Sql
Guia N5 Proyectos Web Consultas Php Y My SqlJose Ponce
 
Guia N1 Proyectos Web Html
Guia N1   Proyectos Web   HtmlGuia N1   Proyectos Web   Html
Guia N1 Proyectos Web HtmlJose Ponce
 
Guia N2 Proyectos Web Php
Guia N2   Proyectos Web   PhpGuia N2   Proyectos Web   Php
Guia N2 Proyectos Web PhpJose Ponce
 
Guia N4 Proyectos Web My Sql Y Php
Guia N4   Proyectos Web   My Sql Y PhpGuia N4   Proyectos Web   My Sql Y Php
Guia N4 Proyectos Web My Sql Y PhpJose Ponce
 
Pool Conexiones My Sql Net Beans
Pool Conexiones My Sql Net BeansPool Conexiones My Sql Net Beans
Pool Conexiones My Sql Net Beanseccutpl
 
ConexióN Mysql Desde Netbeans
ConexióN Mysql Desde NetbeansConexióN Mysql Desde Netbeans
ConexióN Mysql Desde Netbeansmarly alfonso
 
61229578 acceso-a-base-de-datos-mysql-con-netbeans
61229578 acceso-a-base-de-datos-mysql-con-netbeans61229578 acceso-a-base-de-datos-mysql-con-netbeans
61229578 acceso-a-base-de-datos-mysql-con-netbeansepilefmtx
 
PoolConnection + MySql + NetBeans 6.0
PoolConnection + MySql + NetBeans 6.0PoolConnection + MySql + NetBeans 6.0
PoolConnection + MySql + NetBeans 6.0Christian Mora
 
CONEXION A BASE DE DATOS DESDE NETBEANS
CONEXION A BASE DE DATOS DESDE NETBEANSCONEXION A BASE DE DATOS DESDE NETBEANS
CONEXION A BASE DE DATOS DESDE NETBEANSNESTIRRI
 
Guía de Laboratorio 1 - VB.NET 2005
Guía de Laboratorio 1 - VB.NET 2005Guía de Laboratorio 1 - VB.NET 2005
Guía de Laboratorio 1 - VB.NET 2005Jose Ponce
 
Guia de Laboratorios 5 - VB.NET 2005
Guia de Laboratorios 5 - VB.NET 2005Guia de Laboratorios 5 - VB.NET 2005
Guia de Laboratorios 5 - VB.NET 2005Jose Ponce
 

Andere mochten auch (20)

Guia8 java
Guia8 javaGuia8 java
Guia8 java
 
Guia N3 Proyectos Web Php Css, Js
Guia N3   Proyectos Web   Php Css, JsGuia N3   Proyectos Web   Php Css, Js
Guia N3 Proyectos Web Php Css, Js
 
Guia N5 Proyectos Web Consultas Php Y My Sql
Guia N5   Proyectos Web   Consultas Php Y My SqlGuia N5   Proyectos Web   Consultas Php Y My Sql
Guia N5 Proyectos Web Consultas Php Y My Sql
 
Guia N1 Proyectos Web Html
Guia N1   Proyectos Web   HtmlGuia N1   Proyectos Web   Html
Guia N1 Proyectos Web Html
 
Guia N2 Proyectos Web Php
Guia N2   Proyectos Web   PhpGuia N2   Proyectos Web   Php
Guia N2 Proyectos Web Php
 
Guia5 java
Guia5 javaGuia5 java
Guia5 java
 
Guia6 java
Guia6 javaGuia6 java
Guia6 java
 
Guia N4 Proyectos Web My Sql Y Php
Guia N4   Proyectos Web   My Sql Y PhpGuia N4   Proyectos Web   My Sql Y Php
Guia N4 Proyectos Web My Sql Y Php
 
Pool Conexiones My Sql Net Beans
Pool Conexiones My Sql Net BeansPool Conexiones My Sql Net Beans
Pool Conexiones My Sql Net Beans
 
ConexióN Mysql Desde Netbeans
ConexióN Mysql Desde NetbeansConexióN Mysql Desde Netbeans
ConexióN Mysql Desde Netbeans
 
Guia4 java
Guia4 javaGuia4 java
Guia4 java
 
61229578 acceso-a-base-de-datos-mysql-con-netbeans
61229578 acceso-a-base-de-datos-mysql-con-netbeans61229578 acceso-a-base-de-datos-mysql-con-netbeans
61229578 acceso-a-base-de-datos-mysql-con-netbeans
 
PoolConnection + MySql + NetBeans 6.0
PoolConnection + MySql + NetBeans 6.0PoolConnection + MySql + NetBeans 6.0
PoolConnection + MySql + NetBeans 6.0
 
CONEXION A BASE DE DATOS DESDE NETBEANS
CONEXION A BASE DE DATOS DESDE NETBEANSCONEXION A BASE DE DATOS DESDE NETBEANS
CONEXION A BASE DE DATOS DESDE NETBEANS
 
Guia1 java
Guia1 javaGuia1 java
Guia1 java
 
Guia2 java
Guia2 javaGuia2 java
Guia2 java
 
Guia3 java
Guia3 javaGuia3 java
Guia3 java
 
Guía de Laboratorio 1 - VB.NET 2005
Guía de Laboratorio 1 - VB.NET 2005Guía de Laboratorio 1 - VB.NET 2005
Guía de Laboratorio 1 - VB.NET 2005
 
HTML
HTMLHTML
HTML
 
Guia de Laboratorios 5 - VB.NET 2005
Guia de Laboratorios 5 - VB.NET 2005Guia de Laboratorios 5 - VB.NET 2005
Guia de Laboratorios 5 - VB.NET 2005
 

Ähnlich wie Guia7 java

Notas clase
Notas claseNotas clase
Notas clase1 2d
 
Notas clase java ii
Notas clase java iiNotas clase java ii
Notas clase java ii1 2d
 
Notas clase
Notas claseNotas clase
Notas clase1 2d
 
Notas clase java ii
Notas clase java iiNotas clase java ii
Notas clase java ii1 2d
 
Año del buen servicio al cuidadano
Año del buen servicio al cuidadanoAño del buen servicio al cuidadano
Año del buen servicio al cuidadanoSILVA19_PAMELA
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desdejbersosa
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datosJhosy2404
 
Explicacion de la Clase en Java-MySQL.pdf
Explicacion de la Clase en Java-MySQL.pdfExplicacion de la Clase en Java-MySQL.pdf
Explicacion de la Clase en Java-MySQL.pdfGregorioSnchez7
 
Java Y Oracle
Java Y OracleJava Y Oracle
Java Y Oracleplsqlags
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de DatosRonny Parra
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en javajent46
 
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-20063. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006Samuel Marrero
 
Jyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datosJyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datosJyoc X
 
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspExplicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspBoris Salleg
 

Ähnlich wie Guia7 java (20)

Notas clase
Notas claseNotas clase
Notas clase
 
Notas clase java ii
Notas clase java iiNotas clase java ii
Notas clase java ii
 
Notas clase
Notas claseNotas clase
Notas clase
 
Notas clase java ii
Notas clase java iiNotas clase java ii
Notas clase java ii
 
S8-POO-4.2 BDD
S8-POO-4.2 BDDS8-POO-4.2 BDD
S8-POO-4.2 BDD
 
Java con Base de Datos
Java con Base de Datos Java con Base de Datos
Java con Base de Datos
 
Año del buen servicio al cuidadano
Año del buen servicio al cuidadanoAño del buen servicio al cuidadano
Año del buen servicio al cuidadano
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desde
 
Presentación1
Presentación1Presentación1
Presentación1
 
S8-BDD
S8-BDDS8-BDD
S8-BDD
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Explicacion de la Clase en Java-MySQL.pdf
Explicacion de la Clase en Java-MySQL.pdfExplicacion de la Clase en Java-MySQL.pdf
Explicacion de la Clase en Java-MySQL.pdf
 
Java Y Oracle
Java Y OracleJava Y Oracle
Java Y Oracle
 
Java Y Oracle
Java Y OracleJava Y Oracle
Java Y Oracle
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
 
Java y Bases Datos
Java y Bases DatosJava y Bases Datos
Java y Bases Datos
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en java
 
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-20063. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
 
Jyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datosJyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datos
 
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspExplicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
 

Mehr von odelys2003

Mehr von odelys2003 (6)

Curso de redes
Curso de redesCurso de redes
Curso de redes
 
Introduccion2
Introduccion2Introduccion2
Introduccion2
 
S
SS
S
 
Sisoper
SisoperSisoper
Sisoper
 
Sistoper
SistoperSistoper
Sistoper
 
Guia
GuiaGuia
Guia
 

Kürzlich hochgeladen

el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 

Kürzlich hochgeladen (20)

el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 

Guia7 java

  • 1. GUIA 7 Conexión a Base de Datos con NetBeans IDE 6.1 Facultad: Ingeniería Escuela: Computación Asignatura: Java. GUÍA 6 pág. 1
  • 2. I. OBJETIVOS. El estudiante podrá Conectarse a los Gestores de Base de Datos (MySQL o SQLServer 2005). El estudiante podrá hacer capaz de hacer conexiones directamente desde un formulario utilizando NetBeans IDE 6.1 con SQLServer 2005. II. INTRODUCCIÓN. Conexión a la base de datos. Para conectarse a la base de datos, para lo cual básicamente hay que realizar dos pasos. 1. Registrar (Cargar en Memoria) el controlador. Esto se puede hacer de dos formas: De forma dinámica, por medio del método Class.forName(String de driver). Esta es la forma más usual y la que usaremos en la mayor parte de los ejemplos. Ejemplos de carga dinámica: * En MySQL local: Class.forName("com.mysql.jdbc.Driver"); * En Oracle: Class.forName("oracle.jdbc.Driver.OracleDriver"); De manera estática, usando System.setProperties("jdbc.drivers", String de driver). 2. Establecer la conexión por medio del método DriverManager Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/ java?user=root&password=admin"); DriverManager tiene muchos métodos getConnection() con parámetros variados. Todos son variantes de lo mismo y la información que suministramos es la misma. Aquí hemos utilizado uno con tres parámetros String. NOTA: Si todo va bien, tendremos nuestra conexión a la base de datos. Si va mal, saltará una excepción. Por eso es importante (y obligatorio para que compile) meter todo esto en un try-catch. GUÍA 6 pág. 2
  • 3. Para enviar comandos SQL a la base de datos, se usa la clase Statement de java. Esta clase se obtiene a partir de la conexión, de esta forma: Statement instruccion = conexion.createStatement(); Por supuesto, dentro de un try-catch. Statement tiene muchos métodos, pero hay dos interesantes: executeUpdate() y executeQuery(). El primero se usa para sentencias SQL que implica modificaciones en la base de datos (INSERT, UPDATE, DELETE, etc). El segundo sólo para consultas (SELECT y similares). Consultar datos de la base de datos Vamos a hacer ahora una consulta de los datos que acabamos de insertar en la base de datos. Las consultas se hacen con executeQuery() y nos devolverán un ResultSet. El ResultSet de alguna forma representa una conexión hacia los datos. En el ResultSet NO están todavía los datos. Según se los vayamos pidiendo, los irá trayendo de base de datos. Esto quiere decir que si una consulta devuelve muchos resultados, no se nos va a llenar la memoria por el hecho de hacer la consulta. Para traer el primer resultado, debemos llamar el método next() del ResulSet. Para el siguiente otro next() y así sucesivamente hasta que next() devuelva false, indicando que ya no quedaban datos. El código puede ser así ResultSet tabla = instruccion.executeQuery("select Cod_materia, Nombre_materia, Descripcion from materia"); System.out.println("Cod_materiatNombre_materiatDescripcion"); while(tabla.next()) System.out.println(tabla.getInt(1)+"t"+tabla.getString(2)+"t"+ tabla.getString(3)); Hemos hecho un SELECT para obtener los datos. Luego un bucle while(table.next()), es decir, mientras next() vaya trayendo los resultados. Después de next(), el resultado está disponible en el ResulSet. La forma de recoger los campos es pedirlos con algún método get(). Si sabemos de qué tipo es el dato, podemos pedirlo con getInt(), getString(), etc. Si no lo sabemos o nos da igual (como en este caso), bastará con un getObject(), capaz de traer cualquier tipo de dato. En estos métodos get() podemos pasar como parámetro un entero, empezando en 1, que es el número del campo en el SELECT. Es decir, si hacemos SELECT campo1, campo2, campo3 ..., si pedimos getObject(1) obtenemos el valor de campo1, para getObject(2) el de campo2, etc. GUÍA 6 pág. 3
  • 4. Cerramos conexiones Los Connection, Statement y ResultSet con conexiones abiertas con base de datos. Debemos cerrarlas. ResultSet se cierra solo cuando hacemos otra llamada execute() al Statement del que obtuvimos este ResultSet o bien cuando el recolector de basura "recolecta" al ResultSet. No nos preocupa en principio que se quede abierto, porque se acabará cerrando solo. Eso sí, no podemos hacer nada con el Statement hasta que hayamos terminado con el ResultSet o se nos cerrará. Si necesitamos realizar otra cosa con base de datos, debemos crear otro Statement distinto. Cuando terminemos con el Statement, lo cerramos con st.close(). Cuando terminemos con la Connection, la cerramos con conexion.close(). Tratamiento de Excepciones (try-catch) En Java, como en cualquier otro lenguaje de programación, pueden existir situaciones en la que el programa falle. Java llama a estos errores excepciones. Para tratar excepciones deberemos usar la instrucción try (que significa intentar en español). 1. try 2. { 3. //declaración que causa la excepción 4. } Entre las llaves de try escribiremos el código que hará funcional nuestro programa. Para capturar la excepción que puede generar este código necesitaremos otra instrucción llamada catch (capturar). 1. catch(NombredeExcepcion obj) 2. { 3. //código para tratar el error 4. } GUÍA 6 pág. 4
  • 5. PROCEDIMIENTO. OJO: Los ejemplos 1 y 2, la salida de dichas Conexión y Consultas las podrá visualizar en el Output. Ejemplo No 1. Con MYSQL Nombre de la Clase Programa.java import java.sql.*; public class Programa { public static void main(String args[]) { try { //Cargar clase de controlador de base de datos Class.forName("com.mysql.jdbc.Driver"); //Crear el objeto de conexion a la base de datos Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/java?user=root&password=admin"); Statement instruccion = conexion.createStatement(); //Un objeto ResultSet, almacena los datos de resultados de una consulta ResultSet tabla = instruccion.executeQuery("select Cod_materia, Nombre_materia, Descripcion from materia"); System.out.println("Cod_materiatNombre_materiatDescripcion"); while(tabla.next()) System.out.println(tabla.getInt(1)+"t"+tabla.getString(2)+"t"+ tabla.getString(3)); instruccion.close(); conexion.close(); } catch(ClassNotFoundException e){ System.out.println(e); } catch(SQLException e){ System.out.println(e); } } } GUÍA 6 pág. 5
  • 6. Ejemplo No 2. Con SQL Server Nombre de la Clase ProgramaSQLServer.java import java.sql.*; public class ProgramaSQLServer { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here try { //Cargar clase de controlador de base de datos Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //Crear el objeto de conexion a la base de datos Connection conexion = DriverManager.getConnection("jdbc:sqlserver://SQLSERVER:1433;databaseName=java;us er=sa;password=sql2005"); //Crear objeto Statement para realizar queries a la base de datos Statement instruccion = conexion.createStatement(); //Un objeto ResultSet, almacena los datos de resultados de una consulta ResultSet tabla = instruccion.executeQuery("select Cod_materia, Nombre_materia, Descripcion from materia"); System.out.println("Codigo de la materiatNombre de la MateriatDescripcion"); while(tabla.next()) System.out.println("t"+tabla.getInt(1)+"tt"+tabla.getString(2)+"tt"+tabla.getString(3)); } catch(ClassNotFoundException e){ System.out.println(e); } catch(SQLException e){ System.out.println(e); } } } GUÍA 6 pág. 6
  • 7. Conexión a SQLServer 2005 con NetBeans IDE 6.1 Ejemplo No 3. 1. Primeramente hay que agregar al proyecto una java class que tendrá el Nombre de Conexion1.java public class Conexion1 { //Nombre del controlador JDBC y URL de la base de datos static final String CONTROLADOR_JDBC = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; static final String URL_BASEDEDATOS = "jdbc:sqlserver://SQLSERVER:1433;databaseName=java;user=sa;password=sql2005";} 2. Agregar al proyecto un contenedor de JFrame Form con el nombre de JFMantenimientoAlumno.java. Y hacer los cambios que se muestran en la tabla de la figura 1. Figura 1. GUÍA 6 pág. 7
  • 8. Control Propiedad Eventos Código Valor JFrame title Formulario de Estudiantes JLabel1 font Tahoma 18 Bold text Mantenimiento de Estudiante. JPanel1 border Titled Border Información de Estudiante. JLabel2 text Codigo: JLabel3 text Apellidos: JLabel4 text Nombres: JTextField text Variable Name ecodigo JTextField text Variable Name eapellidos JTextField text Variable Name enombres JPanel2 border Titled Border Mantenimientos JButton text Buscar actionPerformed buscar Variable Name mbuscar JButton text Insertar actionPerformed insertar Variable Name minsertar JButton text Borrar actionPerformed borrar Variable Name mborrar JButton text Salir actionPerformed salir Variable Name msalir GUÍA 6 pág. 8
  • 9. import java.sql.*; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JOptionPane; import java.sql.Connection; import java.sql.DriverManager; public class JFMantenimientoAlumno extends javax.swing.JFrame { private Connection conexion; private Statement instruccion; private ResultSet conjuntoResultados; /** Creates new form JFMantenimientoAlumno */ public JFMantenimientoAlumno() throws SQLException { initComponents(); try { Class.forName(Conexion1.CONTROLADOR_JDBC); conexion = DriverManager.getConnection( Conexion1.URL_BASEDEDATOS ); instruccion= conexion.createStatement(); } catch(ClassNotFoundException e ) { JOptionPane.showMessageDialog(null,e.getMessage(),"Error en los controladores JDBC", JOptionPane.ERROR_MESSAGE); } catch(SQLException e) { JOptionPane.showMessageDialog(null,e.getMessage(),"Error en la base de datos", JOptionPane.ERROR_MESSAGE); } } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") GUÍA 6 pág. 9
  • 10. private void salir(java.awt.event.ActionEvent evt) { // TODO add your handling code here: System.exit(0); } private void borrar(java.awt.event.ActionEvent evt) { // TODO add your handling code here: ecodigo.setText(""); enombres.setText(""); eapellidos.setText(""); } private void buscar(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String consulta=""; consulta= "select Cod_alumno, Apellidos, Nombres from alumno where Cod_alumno ='" + ecodigo.getText().toString() + "'"; try { conjuntoResultados= instruccion.executeQuery(consulta); while (conjuntoResultados.next()) { eapellidos.setText(conjuntoResultados.getString(2)); enombres.setText(conjuntoResultados.getString(3)); } } catch(SQLException e) { JOptionPane.showMessageDialog(null, e.getMessage(),"Error al mostrar los datos.", JOptionPane.ERROR_MESSAGE); } } GUÍA 6 pág. 10
  • 11. private void insertar(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String insertar=""; insertar = "insert into alumno (Cod_alumno, Apellidos, Nombres) values ('" + ecodigo.getText().toString()+ "'" + ",'" + eapellidos.getText().toString() + "','" + enombres.getText().toString() + "')"; try { if (ecodigo.getText().equals("")) { JOptionPane.showMessageDialog(rootPane,"Espeficar el codigo de Estudiante y Materia"); } else { instruccion.executeUpdate(insertar); JOptionPane.showMessageDialog(rootPane, "Registrado Estudiante con Exito !!"); } } catch (SQLException e) { JOptionPane.showMessageDialog(null, e.getMessage(), "Error en la base de datos", JOptionPane.ERROR_MESSAGE); } } /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { try { new JFMantenimientoAlumno().setVisible(true); } catch (SQLException ex) { Logger.getLogger(JFMantenimientoAlumno.class.getName()).log(Level.SEVERE, null, ex); } } }); } GUÍA 6 pág. 11
  • 12. // Variables declaration - do not modify private javax.swing.JTextField eapellidos; private javax.swing.JTextField ecodigo; private javax.swing.JTextField enombres; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JButton mborrar; private javax.swing.JButton mbuscar; private javax.swing.JButton minsertar; private javax.swing.JButton msalir; // End of variables declaration } 3- Crear un formulario de mantenimiento para la tabla materia GUÍA 6 pág. 12