Conexión Netbeans y SQL Server

En el siguiente programa conectamos NetBeans y SQL Server, donde creamos botones que nos permita crear, registrar, actualizar y Eliminar datos de una tabla.

Primero comenzamos creando nuestro primer proyecto, la cual tendrá por nombre TiendaDeAbarrotes, crearemos un Package de nombre tiendadeabarrotes dentro de este package crearemos 3 clases: Conexion, Productos y TiendaDeAbarrotes y 1 formulario (JFrame Form) de nombre GuiTienda.

A continuación comenzamos a crear el diseño de nuestra aplicación en nuestro formulario GuiTienda, la cual quedará de la siguiente manera:

Conexión Netbeans y SQL Server

Ahora empezamos a crear nuestra base de datos en SQL Server. El nombre de nuestra base de datos será: Tienda1 y nuestra tabla Productos.
Dentro de la tabla Productos creamos nuestros campos: Codigo, Nombre, Cantidad, Precio

Luego crearemos un procedimiento la cual llamaremos AgregarProducto.

Conexión Netbeans y SQL Server

Dentro de este procedimiento escribimos lo siguiente:

ALTER PROCEDURE [dbo].[AgregarProducto]
 -- Add the parameters for the stored procedure here
 @nombre nvarchar(10), @cantidad int, @precio decimal(10,2)
AS

BEGIN

 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.

 SET NOCOUNT ON;

    -- Insert statements for procedure here

 declare @codigo int=1+(select MAX(Codigo)from Productos)
 if not exists(select Nombre from Productos where Nombre=@nombre)
 insert into Productos(Codigo, Nombre, Cantidad, Precio)
 values (@codigo, @nombre, @cantidad, @precio)

END

A continuación seleccionamos todo el procedimiento y damos clic en el ícono de ejecutar, guardamos y cerramos el programa.

Regresamos al diseño de nuestra Aplicación en Netbeans y comenzamos con la codificación.

  Para la clase Conexión

package tiendadeabarrotes;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;

public class Conexion {
    private String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
    private String url="jdbc:sqlserver://localhost:1433;databaseName=Tienda1";
    private String user="Gabita";
    private String pass="123";
    Conexion(){      
    }  

    public Connection conectar(){      
        try {
            Class.forName(driver);
            return(DriverManager.getConnection(url, user, pass));
        } catch (Exception e) {
           
        }
        return null;
    }  

    public void CerrarConexion(Connection con){
        try {
            con.close();
        } catch (Exception e) {
        }
    }
}

  Para la clase Productos

package tiendadeabarrotes;
import java.sql.*;
import javax.swing.table.DefaultTableModel;

public class Productos {
    Connection cn;
    private int codigo;
    private String nombre;
    private int cantidad;
    private float precio;
      
    public Productos(){
        Conexion con=new Conexion();
        cn= con.conectar();
    }  

    public void LLenarDatos(DefaultTableModel modelo){
        try {
            String sql="select * from Productos";
            CallableStatement cmd=cn.prepareCall(sql);
            ResultSet rs= cmd.executeQuery();
           
            while(rs.next()){
                Object[] datos=new Object[4];
              
                for(int i=0;i<4;i++){
                    datos[i]=rs.getString(i+1);                  
                }
                modelo.addRow(datos);
            }
            cmd.close();
            cn.close();
           
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }  

    public void Agregar1 (String nombre, int cantidad, float precio){
        try {
            String sql="execute AgregarProducto ?,?,?";
            PreparedStatement cmd=cn.prepareCall(sql);
            cmd.setString(1, nombre);
            cmd.setInt(2, cantidad);
            cmd.setFloat(3, precio);
            cmd.execute();
            cmd.close();
            cn.close();          
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }      
    }       
}

  Para la clase TiendaDeAbarrotes

package tiendadeabarrotes;
public class TiendaDeAbarrotes {

    public static void main(String[] args) {
       GuiTienda object= new GuiTienda();
       object.setVisible(true);               
    }  
}

  Para el formulario GuiTienda

package tiendadeabarrotes;
import java.sql.Connection;
import java.sql.PreparedStatement;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

public class GuiTienda extends javax.swing.JFrame {
    Connection cn;

    public GuiTienda() {
        initComponents();
        Conexion con=new Conexion();
        cn= con.conectar();
        iniciar();
    }

    private void Limpiar(JTable tablas){
        while(tablas.getRowCount()>0){
            ((DefaultTableModel) tablas.getModel()).removeRow(0);
        }
    }

private void iniciar(){
        Limpiar(Tabla);
        DefaultTableModel modelo= (DefaultTableModel) Tabla.getModel();
        Productos e= new Productos();
        e.LLenarDatos(modelo);
    }

private void btnregistrarActionPerformed(java.awt.event.ActionEvent evt) {                                             
        Productos p= new Productos();
        String nombrePro=txtnombre.getText();
        int cantidadPro=Integer.parseInt(txtcantidad.getText());
        float precioPro=Float.parseFloat(txtprecio.getText());
        p.Agregar1(nombrePro,cantidadPro,precioPro);       
        iniciar();
    }                                            

private void TablaMouseClicked(java.awt.event.MouseEvent evt) {                                   

        DefaultTableModel modelo=(DefaultTableModel) Tabla.getModel();
        txtcodigo.setText(modelo.getValueAt(Tabla.getSelectedRow(), 0)+" ");
        txtnombre.setText(modelo.getValueAt(Tabla.getSelectedRow(), 1)+" ");
        txtcantidad.setText(modelo.getValueAt(Tabla.getSelectedRow(), 2)+" ");
        txtprecio.setText(modelo.getValueAt(Tabla.getSelectedRow(), 3)+" ");
    }                                  

private void btnactualizarActionPerformed(java.awt.event.ActionEvent evt) {                                              

        try {

            PreparedStatement pst= cn.prepareStatement("UPDATE Productos SET Nombre='"+txtnombre.getText()+"',Cantidad='"+txtcantidad.getText()+"',Precio='"+txtprecio.getText()+"'WHERE Codigo='"+txtcodigo.getText()+"'");

            pst.executeUpdate();
            iniciar();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }       
    }                                             

private void btneliminarActionPerformed(java.awt.event.ActionEvent evt) {                                            

            int fila=Tabla.getSelectedRow();
            String cod="";
            cod=Tabla.getValueAt(fila, 0).toString();
            try {

            PreparedStatement pst=cn.prepareStatement("DELETE FROM Productos WHERE Codigo='"+cod+"'");
            
            pst.executeUpdate();
            iniciar();
           
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        txtcodigo.setText("");
        txtnombre.setText("");
        txtcantidad.setText("");
        txtprecio.setText("");
    }

pero para que todo funcione correctamente se debe seguir el paso de adicionar el: sqljdbc4.jar en la librería y servicios.

Conexión Netbeans y SQL Server

Y para terminar ejecutamos nuestra Aplicación y nos debe salir de la siguiente forma:

Conexión Netbeans y SQL Server

Espero te haya servido de mucha ayuda la entrada Conexión Netbeans y SQL Server. Compártelo y dale like.

  Si quieres descargar la base de datos con la que trabajamos, aquí te dejo el enlace: Descargar SQL Server