Ir al contenido principal

Mostrar informacion de una base de datos SQLServer en JAVA

Este ejemplo es muy sencillo pero espero que les ayude para comprender mejor sobre el enlace de datos de SQLServer con JAVA.

vamos a crear una aplicación de escritorio en JAVA y nombramos enlace.
voy a ignorar pasos suponiendo que ya tienen algo de experiencia en la programación en aplicaciones de escritorio.

vamos directamente al código.

package enlace;

import java.sql.*;
import javax.swing.JOptionPane;


public class frmDatos extends javax.swing.JFrame {

  private Connection cnn=null;
  private Statement st=null;
  private ResultSet rs=null;
 private   String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
   private String ruta = "jdbc:sqlserver://SERVIDOR;databaseName=BASEDATOS";
 
    public frmDatos() {
        initComponents();
        conectar();
    }
  private void  mostrar()
  {
  try {
            txtCampo1.setText(rs.getString("campo1"));
            this.txtCampo2.setText(rs.getString("campo2"));
         
        } catch (Exception ex) {
            System.err.println("Error en registro:" + ex.getMessage());
        }
  }
    private void conectar()
    {
      try {
           Class.forName(driver);
           cnn=DriverManager.getConnection(ruta,"sa","contraseña");
           st=cnn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
           rs=st.executeQuery("SELECT * FROM Tabla");
           rs.next();
           this.mostrar();
         
      } catch (Exception  ex) {
         JOptionPane.showMessageDialog(null, ex, "error", 0);
     
      }
     
    }


Supongo que  SERVIDOR significa el servidor al cual ustedes están enlazandoce y los demas datos son iguales. si todo esta bien cuando ejecuten la aplicación verán que mostrara el primer registro que tengan capturado, bueno ahora la pregunta seria "como recorrer los campos y mostrarlos en los textbox.

vamos a agregar 4 botones y los nombraremos como txtPrimero, txtSiguiente,txtUltimo y txtAnterior. Una vez que le demos dobleclic sobre cada botón se activara el evento ActionPerformed que es equivalente al Click dentro de C#.

private void txtUltimoActionPerformed(java.awt.event.ActionEvent evt) {                                        
       try{
        rs.last();//ultimo registro
        mostrar(); //enlazamos el campo a su textbox
       }
       catch(Exception ex)
       {
           JOptionPane.showMessageDialog(null, ex);
       }
    }                                        

    private void txtSiguienteActionPerformed(java.awt.event.ActionEvent evt) {                                            
       try{
           rs.next();
           mostrar();
       }
       catch(Exception ex)
       {
         JOptionPane.showMessageDialog(null, ex);
       }
    }                                          

    private void txtAnteriorActionPerformed(java.awt.event.ActionEvent evt) {                                          
      try{
          rs.previous();
          mostrar();
      }
      catch(Exception ex)
      {
          JOptionPane.showMessageDialog(null,ex);
      }
    }                                          

    private void txtPrimeroActionPerformed(java.awt.event.ActionEvent evt) {                                          
          try{
        rs.first();
        mostrar();
       }
       catch(Exception ex)
       {
           JOptionPane.showMessageDialog(null, ex);
       }
    }                                        


y listo. ejecutamos la aplicación y veremos cuando le damos clic en cada botón para ver como recorremos los registros. Espero que les haya sido de utilidad.

Comentarios

Entradas populares de este blog

LLENAR UN JTABLE,LISTBOX Y COMBOBOX CON JAVA USANDO NETBEANS

he estado ocupado en unos proyectos, pero estoy de nuevo para compartir lo poco que se de desarrollo de sistemas, el dia de hoy comparto como llenar un objeto JTable en Java con datos de una base de datos MySQL. antes de continuar supongo que ya tienen conocimientos de programacion en especial en Java. Yo usare Netbeans  pero ustedes pueden usar cualquier IDE. para este ejemplo trabajaremos con 3 archivos, Clase,Interfaz y JFrame Form. Y una tabla llamada productos con los campos id,descripcion y precio, algo simple primero vamos a crear nuestra Interfaz que le llamaremos Idb (le pueden como quieran). y vamos a inicializar nuetros metodos. import javax.swing.DefaultListModel; import javax.swing.JComboBox; import javax.swing.table.DefaultTableModel; /**  *  * @nadie  */ public interface Idb {     DefaultTableModel Grid_DataSource(String sql); //LLENAR JTABLE     DefaultListModel ListBox_DataSource(String sql,String Campo); //LLE...

CREAR UN EXE SIN DEPENDENCIAS, C++ BUILDER

algunos de nosotros que hemos usado RAD STUDIO en muy especifico C++ Builder, nos hemos topado con el problema de empaquetar nuestros proyectos,yo uso AdvanceInstaller, pero ese es un tema para otra ocasión, hay un método muy sencillo de crea nuestro ejecutable sin Archivos dependientes, como librerías o DLL's, les muestro como y veran lo simple que es: 1.clic sobre project y  clic sobre opción. 2.  en C++ Linker, desactivamos la opcion : Link With Dynamic RTL. 3. Después en Packages , en la opción Runtime Packages también lo desactivamos, y damos ok. Y solo volemos a compilar y se genera un Exe sin dependencias y listo para ejecutarse en cualquier computadora con el OS de Windows. Espero que les ayude.

Contpaq y sus sistemas

El otro día escuche una conversación sobre el éxito y la gran utilidad de los sistemas de Contpaq y su facturación electrónica de como los había ayudado y no se que tantas maravillas mas; mientras escuchaba atento, tuve una epifanía,de como seria toda la contabilidad sin estos sistemas tan mal hechos de forma intencional o accidental; de cualquiera de las dos maneras no deja de ser un producto tan mal hecho que me sigue sorprendiendo que las gente lo siga usando. Como desarrollador independiente intento ponerme standares altos para el diseño de mis aplicaciones y que mis clientes estén totalmente satisfechos. Empecemos por analizar estos sistemas, sobretodo el contpaq, que esta hecho en JAVA y con un servidor de base de datos MS-SQLServer, que es como juntar ala actual esposa con la ex "mala idea",sabemos que JAVA es muy lento al momento de su ejecucion, AH! pero es gratis! es una gran ventaja para la empresa que lo diseña, en cuanto a SQLServer para mi es un sistema que e...