Vous êtes sur la page 1sur 12

CONEXIÓN JAVA CON

ORACLE EXPRESS

JHON JAIRO VELASCO

SEPT DE 2008
Para crear la tabla con la que trabaje hay un archivo que se llama Base de
Datos, con esas instrucciones pueden probar el programa.

/*
* Ventana.java
*
* Created on 30 de agosto de 2008, 12:00 AM
* @utor Jhon Jairo
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package Conexion;
//import com.sun.org.apache.bcel.internal.util.ClassPath;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import java.sql.DriverManager;

public class Ventana extends JFrame{


private JLabel lblTodos;
public JTextField txtNombre, txtApellido,txtTelefono,txtCarrera,
txtSemestre,txtEdad,txtCodigo,txtCC,txtDireccion,caja;
public JButton btPrimero,btSiguiente,btAnterior,btUltimo,btSalir;
private JMenuBar mnuBarra;
private JToolBar tBarHerra;
private JMenuItem itemCargar,itemInsertar;
private JMenu menArchivo;

ImageIcon Ima_1=new ImageIcon("./Fotos/Primero.gif");


ImageIcon Ima_2=new ImageIcon("./Fotos/Anterior.gif");
ImageIcon Ima_3=new ImageIcon("./Fotos/Siguiente.gif");
ImageIcon Ima_4=new ImageIcon("./Fotos/Ultimo.gif");
Color negro=new Color(0,0,0);
Color blanco=new Color(255,255,255);
Connection conexion;
ResultSet resultado;
Statement sentencia;

public Ventana() {
setTitle("Conexión a base de datos");
setSize(400,430);
setLocation(400,100);
// setResizable(false);
getContentPane().setLayout(null);
getContentPane().setBackground(negro);
System.out.println("Conexion ");
inicieComponentes();

}
private void inicieComponentes(){

agregarBarra();

java.awt.Font ro=new java.awt.Font("Calibri", java.awt.Font.BOLD,14);


this.agregarTexto("INFORMACIÓN DEL ALUMNO");
lblTodos.setBounds(130,40,200,26);
lblTodos.setForeground(blanco);
getContentPane().add(lblTodos);

this.agregarTexto("CODIGO:");
lblTodos.setBounds(70,90,70,18);
lblTodos.setForeground(blanco);
getContentPane().add(lblTodos);
txtCodigo=new JTextField();
txtCodigo.setForeground(Color.RED);
txtCodigo.setBounds(170,90,120,18);
getContentPane().add(txtCodigo);

this.agregarTexto("NOMBRE:");
lblTodos.setBounds(70,110,70,18);
lblTodos.setForeground(blanco);
getContentPane().add(lblTodos);
txtNombre=new JTextField();
txtNombre.setForeground(Color.RED);
txtNombre.setBounds(170,110,120,18);
getContentPane().add(txtNombre);

this.agregarTexto("APELLIDO:");
lblTodos.setBounds(70,130,70,18);
lblTodos.setForeground(blanco);
getContentPane().add(lblTodos);
txtApellido=new JTextField();
txtApellido.setForeground(Color.RED);
txtApellido.setBounds(170,130,120,18);
getContentPane().add(txtApellido);

this.agregarTexto("IDENTIFICACIÓN:");
lblTodos.setBounds(70,150,110,18);
lblTodos.setForeground(blanco);
getContentPane().add(lblTodos);
txtCC=new JTextField();
txtCC.setForeground(Color.RED);
txtCC.setBounds(170,150,120,18);
getContentPane().add(txtCC);

this.agregarTexto("DIRECCIÓN:");
lblTodos.setBounds(70,170,110,18);
lblTodos.setForeground(blanco);
getContentPane().add(lblTodos);
txtDireccion=new JTextField();
txtDireccion.setForeground(Color.RED);
txtDireccion.setBounds(170,170,120,18);
getContentPane().add(txtDireccion);

this.agregarTexto("TELÉFONO:");
lblTodos.setBounds(70,190,80,18);
lblTodos.setForeground(blanco);
getContentPane().add(lblTodos);
txtTelefono=new JTextField();
txtTelefono.setForeground(Color.RED);
txtTelefono.setBounds(170,190,120,18);
getContentPane().add(txtTelefono);

this.agregarTexto("CARRERA:");
lblTodos.setBounds(70,210,80,18);
lblTodos.setForeground(blanco);
getContentPane().add(lblTodos);
txtCarrera=new JTextField();
txtCarrera.setForeground(Color.RED);
txtCarrera.setBounds(170,210,120,18);
getContentPane().add(txtCarrera);

this.agregarTexto("EDAD:");
lblTodos.setBounds(70,230,80,18);
lblTodos.setForeground(blanco);
getContentPane().add(lblTodos);
txtEdad=new JTextField();
txtEdad.setForeground(Color.RED);
txtEdad.setBounds(170,230,120,18);
getContentPane().add(txtEdad);

this.agregarTexto("SEMESTRE:");
lblTodos.setBounds(70,250,80,18);
lblTodos.setForeground(blanco);
getContentPane().add(lblTodos);
txtSemestre=new JTextField();
txtSemestre.setForeground(Color.RED);
txtSemestre.setBounds(170,250,120,18);
getContentPane().add(txtSemestre);

btPrimero=new JButton(Ima_1);
btPrimero.setBounds(140,290,30,20);
btPrimero.setToolTipText("Ir al primero");
getContentPane().add(btPrimero);

btAnterior=new JButton(Ima_2);
btAnterior.setBounds(180,290,20,20);
btAnterior.setToolTipText("Ir al anterior");
getContentPane().add(btAnterior);

btSiguiente=new JButton(Ima_3);
btSiguiente.setBounds(210,290,20,20);
btSiguiente.setToolTipText("Ir al siguiente");
getContentPane().add(btSiguiente);

btUltimo=new JButton(Ima_4);
btUltimo.setBounds(240,290,30,20);
btUltimo.setToolTipText("Ir al último");
getContentPane().add(btUltimo);

caja=new JTextField();
caja.setBounds(270,330,30,20);
caja.setEditable(false);
getContentPane().add(caja);

btSalir=new JButton("Salir");
btSalir.setBounds(170,330,80,20);
btSalir.setToolTipText("Salir del programa");
getContentPane().add(btSalir);
btSalir.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}
});

txtCodigo.setEditable(false);
txtNombre.setEditable(false);
txtApellido.setEditable(false);
txtCC.setEditable(false);
txtDireccion.setEditable(false);
txtTelefono.setEditable(false);
txtCarrera.setEditable(false);
txtEdad.setEditable(false);
txtSemestre.setEditable(false);
btAnterior.addActionListener(accion);
btAnterior.setEnabled(false);
btSiguiente.addActionListener(accion);
btSiguiente.setEnabled(false);
btPrimero.addActionListener(accion);
btPrimero.setEnabled(false);
btUltimo.addActionListener(accion);
btUltimo.setEnabled(false);
// conexion();
}
private void agregarBarra(){

tBarHerra=new JToolBar();
add(tBarHerra);
mnuBarra=new JMenuBar();
setJMenuBar(mnuBarra);
menArchivo=new JMenu("Archivo");
menArchivo.setMnemonic('A');
mnuBarra.add(menArchivo);
itemCargar=new JMenuItem("Cargar");
itemCargar.setMnemonic('C');
menArchivo.add(itemCargar);
itemInsertar=new JMenuItem("Insertar");
itemInsertar.setMnemonic('I');
menArchivo.add(itemInsertar);
itemInsertar.addActionListener(insertar);
itemCargar.addActionListener(cargar);
}
public void paint( Graphics g ){
super.paint( g ); // llamar al método paint de la superclase
g.setColor( Color.YELLOW);
g.drawRect(60,90,300,30);
g.drawRect(60,120,300,210);
g.drawRect(60,330,300,80);
}
public void agregarTexto(String t){
lblTodos=new JLabel(t);
}

void conexion(){
System.out.println("Conexion 222");
try{

String controlador="oracle.jdbc.OracleDriver";
//cargar controlador
Class.forName(controlador);
//conectar la bd
conexion=DriverManager.getConnection("jdbc:oracle:thin:@localhost:15
21:XE","system","jhonjairo");
System.out.println("Conexion Hecha");
sentencia=conexion.createStatement(resultado.TYPE_SCROLL_INSEN
SITIVE,resultado.CONCUR_UPDATABLE);
System.out.println("Esperando.....");
resultado=sentencia.executeQuery("SELECT * FROM ALUMNO
ORDER BY 1");

boolean existe=resultado.first();
if(existe){
caja.setText(Integer.toString(resultado.getRow()));
txtCodigo.setText(""+resultado.getInt(1));
txtNombre.setText(resultado.getString(2));
txtApellido.setText(resultado.getString(3));
txtCC.setText(""+resultado.getInt(4));
txtDireccion.setText(resultado.getString(5));
txtTelefono.setText(""+resultado.getInt(6));
txtCarrera.setText(resultado.getString(7));
txtEdad.setText(""+resultado.getInt(8));
txtSemestre.setText(""+resultado.getInt(9));
}
}
catch(SQLException sqle){
System.out.println(sqle);
}

catch (ClassNotFoundException ex) {


ex.printStackTrace();
}
}

ActionListener cargar=new ActionListener(){


public void actionPerformed(ActionEvent e){
conexion();
btUltimo.setEnabled(true);
btPrimero.setEnabled(true);
btAnterior.setEnabled(true);
btSiguiente.setEnabled(true);
}
};

public void guardar(){


try{

resultado.absolute(Integer.parseInt(caja.getText()));
resultado.updateInt(1,Integer.parseInt(txtCodigo.getText()));
resultado.updateString(2,txtNombre.getText());
resultado.updateString(3,txtApellido.getText());
resultado.updateInt(4,Integer.parseInt(txtCC.getText()));
resultado.updateString(5,txtDireccion.getText());
resultado.updateInt(6,Integer.parseInt(txtTelefono.getText()));
resultado.updateString(7,txtCarrera.getText());
resultado.updateInt(8,Integer.parseInt(txtEdad.getText()));
resultado.updateInt(9,Integer.parseInt(txtSemestre.getText()));
resultado.updateRow();

}catch (SQLException sqle){


System.out.println(sqle);
}
catch (Exception s){
System.out.println(s);
}
}

ActionListener insertar=new ActionListener(){


public void actionPerformed(ActionEvent e){

txtCodigo.setText("");txtCodigo.setEditable(true);
txtNombre.setText("");txtNombre.setEditable(true);
txtApellido.setText("");txtApellido.setEditable(true);
txtCC.setText(""); txtCC.setEditable(true);
txtDireccion.setText("");txtDireccion.setEditable(true);
txtTelefono.setText("");txtTelefono.setEditable(true);
txtCarrera.setText("");txtCarrera.setEditable(true);
txtEdad.setText("");txtEdad.setEditable(true);
txtSemestre.setText("");txtSemestre.setEditable(true);
}
};

ActionListener accion=new ActionListener(){


public void actionPerformed(ActionEvent e){
if (e.getSource()==btPrimero){
try{
boolean existe=resultado.first();

if(existe){
caja.setText(Integer.toString(resultado.getRow()));
txtCodigo.setText(""+resultado.getInt(1));
txtNombre.setText(resultado.getString(2));
txtApellido.setText(resultado.getString(3));
txtCC.setText(""+resultado.getInt(4));
txtDireccion.setText(resultado.getString(5));
txtTelefono.setText(""+resultado.getInt(6));
txtCarrera.setText(resultado.getString(7));
txtEdad.setText(""+resultado.getInt(8));
txtSemestre.setText(""+resultado.getInt(9));

}
}catch (Exception sqle){
System.err.println(sqle);
}
}else

if (e.getSource()==btSiguiente){
try{
boolean existe=resultado.next();
if(existe){
caja.setText(Integer.toString(resultado.getRow()));
txtCodigo.setText(""+resultado.getInt(1));
txtNombre.setText(resultado.getString(2));
txtApellido.setText(resultado.getString(3));
txtCC.setText(""+resultado.getInt(4));
txtDireccion.setText(resultado.getString(5));
txtTelefono.setText(""+resultado.getInt(6));
txtCarrera.setText(resultado.getString(7));
txtEdad.setText(""+resultado.getInt(8));
txtSemestre.setText(""+resultado.getInt(9));
}
}catch (Exception sqle){
System.out.println(sqle);
}
}else

if (e.getSource()==btAnterior){
try{
boolean existe=resultado.previous();
if(existe){
caja.setText(Integer.toString(resultado.getRow()));
txtCodigo.setText(""+resultado.getInt(1));
txtNombre.setText(resultado.getString(2));
txtApellido.setText(resultado.getString(3));
txtCC.setText(""+resultado.getInt(4));
txtDireccion.setText(resultado.getString(5));
txtTelefono.setText(""+resultado.getInt(6));
txtCarrera.setText(resultado.getString(7));
txtEdad.setText(""+resultado.getInt(8));
txtSemestre.setText(""+resultado.getInt(9));

}
}catch (Exception sqle){
System.out.println(sqle);
}
}else

if (e.getSource()==btUltimo){
try{
boolean existe=resultado.last();
if(existe){
caja.setText(Integer.toString(resultado.getRow()));
txtCodigo.setText(""+resultado.getInt(1));
txtNombre.setText(resultado.getString(2));
txtApellido.setText(resultado.getString(3));
txtCC.setText(""+resultado.getInt(4));
txtDireccion.setText(resultado.getString(5));
txtTelefono.setText(""+resultado.getInt(6));
txtCarrera.setText(resultado.getString(7));
txtEdad.setText(""+resultado.getInt(8));
txtSemestre.setText(""+resultado.getInt(9));
}
}catch (Exception sqle){
System.out.println(sqle);
// JOptionPane.showMessageDialog(null,"Esto es
"+resultado.getString(5));
}
}
}
};

public static void main(String z[]){


Ventana ven=new Ventana();
ven.setVisible(true);
}
}

Para podernos conectar a la base de dato de Oracle Express se necesita hacer


lo siguiente:

Importar como librería desde el IDE que estemos utilizando (en este caso
NetBeans de la version 5.5 en adelante) se hace click en Tools, después
hacemos click en el botón librerías, esto nos va a abrir una ventana y
hacemos click en el botón nueva librería, después le damos un nombre a la
librería que vamos a crear, hacemos click en agregar JAR y le damos la ruta
donde se encuentra el archivo .jar (la Librería) en nuestro caso
“C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ ojdbc14.jar” y al
finalizar le damos OK.
(Debes buscar el archivo ojdbc14.jar que se tiene que agregar, si instalas
el Oracle Express lo vas a encontrar en la ruta que aparece arriba con
letra de color rojo )

Mas adelante en nuestro Project agregamos la librería que acabamos de crear


de la siguiente forma:
Damos click en el nombre del proyecto, click derecho en la carpeta librería y le
damos click en agregar, esto nos abre una ventana, escogemos la librería que
acabamos de crear y la agregamos al proyecto;

Para establecer la conexión necesitamos de tres clases muy importantes


Connection, Statement y ResulSet y de la instrucción que permite cargar el
controlador Class.forName("oracle.jdbc.OracleDriver");

Declaramos una variable de cada clase que mencionamos anteriormente


donde la clase connection nos permite conectarnos a la base de datos
ejecutando la siguiente línea :

Connection conexión= DriverManager.getConnection("jdbc:oracle:thin:


@localhost: 1521:XE","system","jhonjairo");
Donde @localhost es el nombre del servidor al que nos conectamos, mientras
que el número 1521 es el puerto donde se usa para la base de datos(debes
de tener instalado solo oracle express , si tienes otro debes estar muy
pendiente con el numero del puerto que te de, porque hagamos un
ejemplo si tienes instalado Oracle 8i, el computador le asigna el puerto
1521, y si después instalas el Oracle Express te dara el puerto 1522, si ves
cambia el puerto , debes de estar muuy atento con el puerto que trabajes)
y el XE es el nombre de la instancia, la cual en las versiones express se llama
XE, después le damos el nombre de usuario ”system”(Que siempre va a ser
ese) y la contraseña de la base de datos como ejmplo “Administrador“, en tu
caso la que le diste cuando instalaste Oracle XE.

Con la siguiente instrucción se hace la consulta a la base de datos retornando


la tabla consultada “ALUMNO” ordenada por la columna número 1 y la guarda
en la variable resultado.

resultado=sentencia.executeQuery("select * from alumno order by 1");

Al hacer esto en la variable resultado queda toda la información de la tabla,


para mostrarla debemos asignar cada valor a la caja de texto donde
corresponda de la siguiente manera:

txtCodigo.setText(""+resultado.getInt(1));
txtNombre.setText(resultado.getString(2));

De la variable resultado traemos un número entero que se encuentra en la


columna número 1 y las asignamos a la caja de texto donde va el código del
alumno, hacemos lo mismo con la otra línea, sino que en esta instrucción va a
traer una cadena (String) y la asignamos a la caja donde va el nombre.

Podemos hacer las mismas instrucciones pero en vez de los números que le
damos de la columna le podemos dar el nombre de la columna de la tabla y en
estos métodos se ve el polimorfismo.

txtCodigo.setText(""+resultado.getInt(“codigo”));
txtNombre.setText(resultado.getString(“Nombre”));

Vous aimerez peut-être aussi