Java - Conectar programa a BD

 
Vista:

Conectar programa a BD

Publicado por Molekalex (8 intervenciones) el 11/10/2005 16:40:40
TEngo problemas para conectar este programa ala base de datos access:

codigo java

import java.awt.*;
import java.net.*;//Manejo del Odbc
import java.sql.*;//Manejo de Codigo Sql
import javax.swing.*;
import java.awt.event.*;
import java.io.*;

////////////////////////// Al final estan las dudas!!!!!!!!!!!!!!!!!!

class Aplicacion_bd_swing extends JFrame {

JLabel l1,l2,l3;
JTextField t1,t2,t3;
JButton b2,b3,b4;
String url,driver,cadena;
Connection db; //Establecer la Conexion
Statement sql; //Para poder Ejecutar la consulta
ResultSet rs; //Resultado de la Consulta(Tipo Tabla)


public Aplicacion_bd_swing()
{


getContentPane().setLayout(null);
setTitle("Prueba Base de datos");
setSize(300,250);



l1= new JLabel("Numero: ");
l1.reshape(20,40,70,30);
getContentPane().add(l1);

t1= new JTextField();
t1.reshape(100,40,70,30);
getContentPane().add(t1);

l2= new JLabel("Nombre: ");
l2.reshape(20,90,80,30);
getContentPane().add(l2);

t2= new JTextField();
t2.reshape(100,90,70,30);
getContentPane().add(t2);

l3= new JLabel("Turno: ");
l3.reshape(20,140,70,30);
getContentPane().add(l3);

t3= new JTextField();
t3.reshape(100,140,70,30);
getContentPane().add(t3);

b2= new JButton("Guardar");
b2.reshape(200,80,80,30);
getContentPane().add(b2);

b3= new JButton("Eliminar");
b3.reshape(200,120,80,30);
getContentPane().add(b3);

b4=new JButton("Salir");
b4.reshape(200,160,80,30);
getContentPane().add(b4);

cargar();

Dimension pantalla, cuadro;
pantalla = Toolkit.getDefaultToolkit().getScreenSize();
cuadro = this.getSize();
this.setLocation(((pantalla.width - cuadro.width)/2), (pantalla.height - cuadro.height)/2);


t1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){
buscar();

}


});


b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){

Guardar();

}
});

b3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){

Eliminar();
t1.setText("");
t2.setText("");
t3.setText("");
t1.requestFocus();

}
});

b4.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent evt){

dispose();
System.exit(0);

}
});

}




public void cargar()
{

Connection canal = null; // Definir el Objeto para la conexion

ResultSet tabla= null; // Definir el Objeto para almacenar la consulta

Statement instruccion=null; // Definir el objeto para Crear la Instrucción SQL

//String sitiobase =null ; // Carga la base de datos

String sitiobase = "c:/Ejemplo JSP/BaseJSP.mdb";

String strcon= "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + sitiobase; // estable la Conexion

// detectando y cargando el objeto submit de html


// abriendo canal o enlace en su propio try-catch

try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

canal=DriverManager.getConnection(strcon);

instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE);

} catch(java.lang.ClassNotFoundException e){} catch(SQLException e) {};



//leyendo tabla en disco y pasandola al resultset

try { tabla = instruccion.executeQuery("select * from Empleados");
}
catch(SQLException e) {
}

}

public void buscar()
{

try{

cadena= "select * from Empleados where Numero="+t1.getText()+"";
rs = sql.executeQuery(cadena);

if (rs.next())
{

int Numero = rs.getInt("Numero");
String Nombre = rs.getString("Nombre");
int Turno = rs.getInt("Turno");
JOptionPane.showMessageDialog(null,"Registro Existe","Empleados",JOptionPane.INFORMATION_MESSAGE);
t1.setText(String.valueOf(Numero));
t2.setText(Nombre);
t3.setText(String.valueOf(Turno));

}
else
{
JOptionPane.showMessageDialog(null,"Registro no Existe","EMPLEADO",JOptionPane.QUESTION_MESSAGE);
t2.setText("");
t3.setText("");
t1.requestFocus();
}
}
catch (SQLException e)
{
}
}

public void Guardar()
{

try{
int Numero = (new Integer(t1.getText())).intValue();
String Nombre = t2.getText();
int Turno = (new Integer(t3.getText())).intValue();


cadena="insert into Empleados values("+Numero+",'"+Nombre+"',"+Turno+") ";
JOptionPane.showMessageDialog(null,"Registro Almacenado","Guardar",JOptionPane.INFORMATION_MESSAGE);
rs = sql.executeQuery(cadena);

}
catch (SQLException e)
{
}
}



public void Eliminar()
{

try{
int Numero = (new Integer(t1.getText())).intValue();
JOptionPane.showMessageDialog(null,"Registro Eliminado","Eliminar",JOptionPane.INFORMATION_MESSAGE);
cadena="delete * from empleados where Numero = " +Numero+"";
rs = sql.executeQuery(cadena);

}
catch (SQLException e)
{
}

}

public static void main(String args[])
{


new Aplicacion_bd_swing().show();
}
}


//linea 155 esta linea carga los datos de cada tabla? osea que por cada tabla que deseo
// tener una linea de estas?

//linea 204 ¿Como guarda en la base de datos? por orden en la cadena? por ejemplo:
//Numero se guardaria en la columna 0, Nombre en la columna 1 y turno en la 2
//enumerando la matriz desde 0. No entiendo bien esta instruccion sql

//ademas necesito guardar los Items de un JComboBox en un campo texto
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder