Aqui unos Ejemplos de Consulta, para los que no estan familiarizados con SQL
SELECT * FROM cancion
* SELECCIONA TODAS LAS FILAS DE LA TABLA cancion
SELECT * FROM cancion WUERE Nombre LIKE '%Let it be%'
* CON FILTRO "Let it be" EN LA COLUMNA Nombre
SELECT * FROM cancion WUERE Autor LIKE '%Lily%'
* CON FILTRO "Lily" EN LA COLUMNA Autor
* ETC.
ATENCION LA BASE DE DATOS DE ESTE EJEMPLO SE LLAMA "musica.mdb" Y TIENE COMO UNICA TABLA "cancion" COMO EN LA IMAGEN MAS ABAJO, Y ESTE ARCHIVO DEBE ESTAR EN LA CARPETA DEL PROYECTO PARA QUE ESTE EJEMPLO FUNCIONE, Y SI TIENEN SU PROPIO BASE DE DATOS ACCESS TBN DEBE DE ESTAR EN LA CARPETA DEL PROYECTO.
- RESULTADO
- COD. FUENTE
/**
*
* E-Mail : shamirdhc31@gmail.com
* Blog : http://javadhc.blogspot.com
*
*/
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
public class ConexionAccessSencillo extends JFrame implements ActionListener
{
public JScrollPane PanelDeslizador;
public JTable MiTabla = new JTable();
public JButton btnCosulta = new JButton("Nueva Consultar");
public ConexionAccessSencillo()
{
super("CONEXION A BD ACCESS SENCILLO");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(600,530);
FlowLayout Distribuidor = new FlowLayout(FlowLayout.CENTER,10,10);
this.setLayout(Distribuidor);
this.btnCosulta.addActionListener(this);
this.CargarTabla();
this.PanelDeslizador = new JScrollPane(this.MiTabla);
this.add(this.PanelDeslizador);
this.add(this.btnCosulta);
}
public void actionPerformed(ActionEvent e)
{
this.CargarTabla();
}
//-- CREA UNA CONEXION CON LA BASE DE DATOS CUYO RESULTADO ES "INSTRUCCION"
public Statement CrearPuenteBD()
{
Connection CanalBD;
Statement Instruccion = null;
String NombreBD = "musica.mdb"; //-- CAMBIA POR EL NOMBRE DE TU BD
String DireccionBD = System.getProperty("user.dir") + "/" + NombreBD;
String ConexionBD = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + DireccionBD;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
CanalBD = DriverManager.getConnection(ConexionBD);
Instruccion = CanalBD.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}
catch(Exception SQLE)
{
JOptionPane.showMessageDialog(null,"ERROR EN LA CONEXION CON BD\nERROR : " + SQLE.getMessage());
System.exit(0);
}
return Instruccion;
}
//-- REALIZA LA CONSULTA CON LA INSTRUCCION SQL Y LUEGO SE LLENA LA TABLA
public void CargarTabla()
{
String SentenciaSQL;
SentenciaSQL = JOptionPane.showInputDialog(null,"INGRESE LA SENTENCIA SQL");
//-- SE HACE LA CONSULTA, Y LA TABLA SE LLENA CON EL MODELO DE TABLA
this.MiTabla.setModel(this.ConsultarBD(SentenciaSQL));
this.MiTabla.setEnabled(false);
}
//-- DEFAULTTABLEMODEL ES EL MODELO DE TABLA QUE LUEGO SE AGREGARA A LA TABLA FINAL
public DefaultTableModel ConsultarBD(String SentenciaSQL)
{
ResultSet Resultado;
Statement Instruccion = this.CrearPuenteBD();
//-- PONLE LOS NOMBRES QUE QUIERAS A TUS COLUMNAS
//-- EL NUMERO DE NOMBRES QUE PONGAS ES DE ACUERDO A LA
//-- CANTIDAD DE COLUMNAS QUE TENGA TU BD
//-- SI SON 7 COLUMNAS, PONLE 7 NOMBRES
String[] Titulo = {"ID CANCION","NOMBRE","AUTOR","ALBUM"};
//-- CAMBIA DE ACUERDO AL NUMERO DE COLUMNAS DE TU BD (String[COLUMNAS])
//-- SI SON 7 COLUMNAS SERA String[] Registro = new String[7];
String[] Registro = new String[4];
DefaultTableModel ModeloTabla = new DefaultTableModel(null,Titulo);
try
{
//-- SE EJECUTA LA INSTRUCCION, Y EL RESULTADO SE CARGA
//-- A ResultSet (Resultado)
Resultado = Instruccion.executeQuery(SentenciaSQL);
//-- LOS RESULTADOS SON DE FILA EN FILA
//-- CON Resultado.next() SE VA VIENDO CADA FILA
//-- HASTA QUE ESTE VOTA FALSO O QUE YA NO HAY MAS FILAS DE DATOS
while(Resultado.next())
{
//-- LOS DATOS DE CADA FILA SE GUARDAN EN UN ARRAY
//-- PONLE DE ACUERDO A LOS NOMBRES VERDADEROS DE LAS COLUMNAS
//-- DE TU BD EN LA PARTE QUE DICE getString("Id_cancion")
//-- SI SON 7 COLUMNAS ENTONCES EL ULTIMO REGISTRO SERA
//-- ASI => Registro[7] = Resultado.getString("NOMBRE COLUMNA 7");
Registro[0] = Resultado.getString("Id_cancion");
Registro[1] = Resultado.getString("Nombre");
Registro[2] = Resultado.getString("Autor");
Registro[3] = Resultado.getString("Album");
//-- CADA VEZ QUE TERMINA DE AGREGAR UNA FILA O ARRAY
//-- SE AGREGA A ESTE MODELO DE TABLA
ModeloTabla.addRow(Registro);
}
}
catch (SQLException SQLE)
{
JOptionPane.showMessageDialog(null,"ERROR AL CARGAR LOS DATOS DE LA BD \n ERROR : " + SQLE.getMessage());
}
return ModeloTabla;
}
public static void main(String[] args)
{
ConexionAccessSencillo MiConexion = new ConexionAccessSencillo();
MiConexion.setVisible(true);
}
}
DALE CLICK EN LA IMAGEN PARA BAJARTE EL PROYECTO CON LOS 2 EJERCICIOS
IMPORTANTE : "TODOS LOS CODIGOS INDICADOS AQUI SON ESCRITOS POR MI PERSONA, ASI QUE CUALQUIER DUDA O EJERCICIO QUE NO PUEDAN RESOLVER, NO DUDEN EN MANDARME UN E-MAIL A MI CORREO"
shamirdhc31@gmail.com
ME PUEDES AYUDAR EN MI MAQUINA NO SE PUEDE CONECTAR -- ACCESS CON JAVA--- Y ESO QUE INTENTADO POR VARIOS CODIGOS Y METODOS; Y NO PUEDOOOO!!!!!!!
ResponderEliminarMI MAQUINA ES WINDOWS7 - 64 BITS