Ir al contenido principal

Conexión Netbeans y SQL Server: Botones Nuevo, Registrar, Actualizar y Eliminar





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:


Ahora comenzamos 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.


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
---------------------------------------------------------------------------------------------------
Luego seleccionamos todo el procedimiento y damos clic en el ícono de ejecutar:  , guardamos y cerramos el programa.

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

Para la clase: Conexion
-----------------------------------------------------------------------------------------------------
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("");
    }                                        

--------------------------------------------------------------------------------------------------
Para que todo funcione correctamente se debe seguir el paso de adicionar el: sqljdbc4.jar en la librería y servicios.
Y por últimos al ejecutar nuestra Aplicación nos debe salir de la siguiente forma:




Comentarios

Entradas más populares de este blog

Lenguaje de Programacion en Java: Ecuación de primer grado

public class Main {     public static void main(String[] args) {         float x,a,e;                   Scanner teclado = new Scanner(System.in);         System.out.println("Coeficiente de X:");         x=teclado.nextInt();         System.out.println("Término independiente:");         a=teclado.nextInt();         if(a==0)           System.out.println("No es una ecuación de primer grado");           else         {              e=-a/x;              System.out.println("La raíz es=" +e);         }                                     } ...

Programacion: Arbol binario - Programacion en c++

1.- Hacer un programa que permita buscar un elemento, el elemento mayor, el elemento menor y el menor de los mayores de un árbol binario. #include <iostream.h> #include <conio.h> struct nodo     {      int valor;      struct nodo* izq;      struct nodo* der;     }; typedef struct nodo *ABB; void inserta(ABB& ,int); void preorden(ABB); void postorden(ABB); void enorden(ABB); void verarbol(ABB,int); int buscar(ABB,int); int buscarmayor(ABB); int buscarmenor(ABB); void podar(ABB&,int); void main() { ABB arbol=NULL; ABB subarbol=NULL; int n,x,opc,a;   do     {      cout<<"menu principal"<<endl;      cout<<"1.ingresar elementos"<<endl;      cout<<"2.pre orden"<<endl;      cout<<"3.mostrar hojas"<...

Programacion: Arreglos con estructuras - ordenamientos

1.- Se pide realizar un ordenamiento de artículos, para ello se debe ingresar n artículos y ordenarlos por su monto de inversión. struct articulo {char codigo[10];  char producto[20];  float preciocompra;  float monto;  int cantidad;  }  #include<iostream.h> #include<string.h> #include<conio.h> #define MAX 50 struct articulo {char codigo[10];  char producto[20];  float preciocompra;  float monto;  int cantidad;  };  void leer(int, struct articulo[]);  void montodeinversion(int, struct articulo[]);  void ordenmonto(int, struct articulo[]);  void listado(int, struct articulo[]);  void main()  {int n;   struct articulo Art[MAX];   cout<<"Cantidad de articulos que desea poner:";   cin>>n;   leer(n,Art);   montodeinversion(n,Art);   ordenmonto(n,Art);   cout<<"productos ordenados por su cantidad de mont...