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:
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.
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.
Y para terminar ejecutamos nuestra Aplicación y nos debe salir de la siguiente forma:
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