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

Mostrar y Modificar una tabla en Netbeans

Continuando con el ejercicio anterior, ahora veremos como modificar una tabla creada en SLQ Server  desde Netbeans. Para ello sólo adicionaremos algunos códigos, en este caso siguiendo con el ejercicio anterior sólo agregamos en el index.jsp lo siguiente: <td align="center"><a href ="frmProductos.jsp?txtpara=M&txtid = <%= objpro.getcodigo() %>"><img src="images/upd.gif"></a></td> En el java class Productos, aparte de crear el método mostrar, crearemos dos métodos más: Método para Buscar y para Modificar, pero primero antes de todo declaramos nuestras variables como privado, creamos un constructor y luego aplicamos un Getter and Setter como se muestra en las siguientes imágenes:   Después de haber hecho el paso anterior, creamos un nuevo jsp la cual llamaremos frmProductos y escribimos la siguiente codificación: Luego creamos otro package que llamaremos Servlet, dentr...

Programación en c++: Arreglos - Buscar un elemento

1.- #include<iostream.h> #include<conio.h> #define MAX 100 void main() {int n, elem, i,a[MAX],band; clrscr(); cout<<"Limite:"; cin>>n; cout<<endl; for(i=0;i<n;i++) {cout<<"ELEMENTO ="; cin>>a[i]; } cout<<endl; cout<<"Ingrese elemento a buscar:"; cin>>elem; band=1; if(elem==a[i]) cout<<"Elemento encontrado"<<endl; if(band==0) cout<<"Elemento no encontrado"<<endl; getch(); }