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


0