Por ejemplo, supongamos que queremos consultar (tomando como SGBD MySQL) la cantidad de registros en una tabla cualquiera, entonces tenemos algo como esto en nuestro código:
Class.forName("com.mysql.jdbc.Driver"); Connection conexion = DriverManager.getConnection ("jdbc:mysql://localhost/mi_bd","root", "mi_clave"); Statement stat = conexion.createStatement(); ResultSet resultado = stat.executeQuery ("SELECT * FROM mi_tabla"); while (resultado.next()) { System.out.println (resultado.getString("Mi_Campo")); } conexion.close();Y si queremos hacerlo en otra tabla ¿volvemos a hacer lo mismo?, vamos que no es la idea. Para ello hagamos unos pequeños cambios, creemos una clase llamada por ejemplo "clase_bd", a la cual accedemos solo si necesitamos almacenar, actualizar o consultar registros de nuestra base de datos. Para ello entonces declaramos la clase pública junto con sus métodos:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.JOptionPane; public class clase_bd { static Connection conn = null; static ResultSet consulta = null; public static void abrir_bd(){ try { Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://servidor/bd", "usuario", "pass"); } catch (SQLException ex) { JOptionPane.showMessageDialog(null, "Verifique que los parametros de conexión sean los correctos. n"+ex,"Error",JOptionPane.ERROR_MESSAGE); System.exit(0); } catch (ClassNotFoundException ex) { JOptionPane.showMessageDialog(null, "No es posible inicializar el sistema: "+ex,"Error",JOptionPane.ERROR_MESSAGE); System.exit(0); } } public static ResultSet consulta (String peticion){ try { Statement stat = conn.createStatement(); consulta = stat.executeQuery(peticion); } catch (SQLException ex) { JOptionPane.showMessageDialog(null, "Error al realizar la consulta: "+ex,"Error",JOptionPane.ERROR_MESSAGE); } return consulta; } public static void registrar (String peticion){ try { Statement stat = conn.createStatement(); stat.executeUpdate(peticion); } catch (SQLException ex) { JOptionPane.showMessageDialog(null, "Error al almacenar el registro: "+ex,"Error",JOptionPane.ERROR_MESSAGE); } } }Lo que hacemos es simple, creamos un método de consulta, otro de registro y otro de conexión. Al de consulta se le envía por valor una cadena, la cual procesara y retornará el valor deseado; mientras que al de registro se le envía la cadena SQL y no devuelve ningún valor, solo ejecuta la sentencia y listo. Una vez que tenemos la clase construida, la llamamos en nuestro método principal para iniciar las variables de conexión:
public class programa { public static void main(String [] args){ clase_bd.abrir_bd(); } }Entonces ya solo nos queda llamar al método de la clase para obtener los resultados deseados, por ejemplo, para consultar "X" campo de nuestra base de datos:
ResultSet consulta = clase_bd.consulta("SELECT campos FROM tabla"); while (consulta.next()){ System.out.println(consulta.getString(1)); }Para almacenar un registro:
clase_bd.registrar("INSERT INTO tabla VALUES (valores)"); JOptionPane.showMessageDialog(null, "Registro Almacenado","Prueba...",JOptionPane.INFORMATION_MESSAGE);
Recibe notificaciones por correo
4 Comentarios
Escribir ComentarioBuen blog!!!!!
ResponderAnalizando....
carlitos exelente tu blog, voy a pasarme dias aprendiendo todo el material que pusiste sobre java y los demas.
Respondergracias por tomarte el tiempo de publicarlos.
como dijiste que si hay algo que no esta publicado o preguntar, muy pronto te hare llegar mis dudas.
saludos desde Peru.
Chido carnal
Respondermmm Ocupo como hacer una consulta con un Combo box en MySql.... Esp me ayudaria mucho Gracias
Buen blog
Revisa este enlace amigo.... Saludos!!
Responderhttp://carlitoxenlaweb.blogspot.com/2009/12/llenar-combobox-con-mysql.html
Lamentablemente hay muchos usuarios en la red que han llegado al blog para escribir obscenidades, así que la moderación se hace necesaria. Recuerda utilizar un lenguaje correcto y espera a que sea aprobado.
Si necesitas publicar código haz click en "Conversión" para hacerlo legible.
ConversiónConversión