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

Programación en c++ : Matriz - Calcular mayor de la matriz

1.- Hacer un programa que permita ingresar n datos de una matriz y calcular el mayor de la matriz. #include<iostream.h> #include<conio.h> #define lim 50 void main() {int i,j,a[lim][lim],fila,col,  may=a[0][0];  clrscr(); do {cout<<"Ingresar limite de la fila:";  cin>>fila; }while(fila<=0); do {cout<<"Ingesar limite de la columna:";  cin>>col; }while(col<=0); gotoxy(10,7); cout<<"Ingresar Elementos de la matriz\n\n"; for(i=0;i<fila;i++) for(j=0;j<col;j++) {cout<<"a["<<i<<"]"<<"["<<j<<"]";  cin>>a[i][j]; } for(i=0;i<fila;i++) for(j=0;j<col;j++) if(a[i][j]>may) may=a[i][j]; clrscr(); gotoxy(10,7); cout<<"Elementos de la matriz\n\n"; for(i=0;i<fila;i++) for(j=0;j<col;j++) {cout<<a[i][j];  cout<<"\n"; } clrscr(); gotoxy(10,20); cout...

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);         }                                     } ...

Programación en Java: Suma de los cuadrados de los primeros números

public class Main {     public static void main(String[] args) {         int n,s;                  Scanner teclado = new Scanner(System.in);         System.out.println("Ingresar cantidad de elementos:");         n=teclado.nextInt();                      s=(n*(n+1)*(2*n+1))/6;                   System.out.println("Suma de los cuadrados de los primeros números=" +s);                   }    }