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"<...

Programación en c++ : While - series: límite del numerador

1.- Hacer un programa que nos permita ingresar el límite del numerador hasta donde queremos que se realice la suma, sólo el numerador tendrá el límite, el denominador no cambiará, por ejemplo; 1/2 , 2/2, 3/2, 4/2 ..... #include<iostream>  #include<conio.h> int main()  {  int num=0,suma=0,denominador=2,limite;  clrscr();  cout<<"Ingrese el limite del numerador: ";  cin>>limite; while (num<=limite)  {  cout<<num<<"/"<<denominador<<endl;  suma=suma+num;  num=num+1; }  cout<<"Suma total: "<<suma<<"/"<<denominador<<endl;  getch();  }