Crear una aplicacion en NetBeans conectado a una Base de Datos en SQL Server 2008,en el cual tenga los botones AGREGAR,ELIMINAR,NUEVO;
Requisitos:
*Driver sqljdbc4 (necesario para la conexion)
*Programar en capas (opcional),pero nos sirve para que este mas ordenado nuestros codigos y sean reutilizables
Paso 1 :
Abrir SQL Server Management Studio ,y nos conectamos con la autenticacion de SQL Server (la autenticacion de Windows dejemosla atras)
Paso 2 :
Crear una Base de datos (nombre opcional)en mi caso la llamare "Sistema"
Paso 3:
Crear la siguiente tabla:
Usuarios
-Usuario
-Clave
-Nivel
Paso 3:
Abrir el IDE NetBeans y crear una aplicacion (en mi caso yo voy crearlo usando capas)
CapaPrincipal = el main (para poder ejecutar nuestra aplicacion)
CapaCliente=a todos nuestros formularios
CapaModelo=todas nuestras clases
CapaRecursos=imagenes,etc
Paso 4 :
Nos ubicamos en la capa modelo y creamos una clase llamada "ConexBD" y colocamos el siguiente codigo
package modelo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ConexBD {
protected PreparedStatement ps;
protected String bd;
protected Connection cn;
protected Statement st;
protected String sql;
protected ResultSet rs;
protected final String url = "jdbc:sqlserver://localhost;databasename=";
public ConexBD(String bd){
this.bd=bd;
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
System.out.println("Driver Registrado");
cn=DriverManager.getConnection(url+bd,"sa","123");
System.out.println("Conexion Establecida");
st= cn.createStatement();
}catch(SQLException e1){
System.out.println("ERROR SQL:"+ e1.getMessage());
}
catch(ClassNotFoundException e2){
System.out.println("ERROR DRIVER:"+ e2.getMessage());
}
}
public String getBd() {
return bd;
}
public void setBd(String bd) {
this.bd = bd;
}
public Connection getCn() {
return cn;
}
public void setCn(Connection cn) {
this.cn = cn;
}
public Statement getSt() {
return st;
}
public void setSt(Statement st) {
this.st = st;
}
public String getSql() {
return sql;
}
public void setSql(String sql) {
this.sql = sql;
}
public ResultSet getRs() {
return rs;
}
public void setRs(ResultSet rs) {
this.rs = rs;
}
}
Paso 5 :
Creamos una clase en el mismo paquete llamada classusuario ,en esta clase pondremos todos nuestros atributos,crearemos nuestro constructor ,los SET y los GET
//ATRIBUTOS
private String usuario;
private String clave;
private String nivel;
public classusuario(String usuario,String clave,String nivel){
this.usuario=usuario;
this.clave=clave;
this.nivel=nivel;
GET Y SET
public String getUsuario(){
return usuario;
}
public void setUsuario(String usuario){
this.usuario=usuario;
}
public String getclave(){
return clave;
}
public void setclave(String clave){
this.clave=clave;
}
public String getnivel(){
return nivel;
}
public void setnivel(String nivel){
this.nivel=nivel;
}
Paso 6:
Creamos nuestro formulario ,colocamos 3 TextField,3 botones (agregar,eliminar,nuevo) y una tabla (a la cual llamaremos tbldatos)
*Al textfield usuario le pondremos el nombre de txtusuario
*Al textfield clave le pondremos el nombre de txtclave
*Al textfield nivel le pondremos el nombre de txtnivel
Paso 6 :
Nos ubicamos en el Public class del formulario y creamos una instancia de la clase "ConexBD" colocamos lo siguiente :
ConexBD u1;
en el InitComponents:
u1=new ConexBD("Sistema");
listado();
Paso7 :
Como hacer para que al ejecutar mi aplicacion ,aparescan los registros ya guardados en mi tabla de mi formulario ?? Hacemos los siguiente ,creamos el metodo listado
private void listado(){
String sql="SELECT * FROM USUARIOS";
try {
ResultSet rs=u1.getSt().executeQuery(sql);
DefaultTableModel m1=(DefaultTableModel)tbldatos.getModel();
m1.setRowCount(0);
while (rs.next()) {
Object []fila={rs.getString(1),rs.getString(2),rs.getString(3)};
m1.addRow(fila);
}
} catch (SQLException ex) {
Logger.getLogger(frmusuario.class.getName()).log(Level.SEVERE,null,ex);
}
}
Luego de hacer esto ,en el InitComponents llamamos el metodo listado,
Paso 8:
Hacemos doble click en el boton agregar o guardar y codificamos los siguiente:
String usuario;
String clave;
String nivel;
usuario=txtusuario.getText();
clave=txtclave.getText();
nivel=txtnivel.getText();
classusuario usu=new classusuario(usuario,clave,nivel); //hacemos referencia a la clase usuario
String sql="INSERT INTO usuarios VALUES ('"+usu.getUsuario()+"','"+usu.getclave()+"','"+usu.getnivel()+"')";
try {
u1.getSt().executeUpdate(sql);
listado(); //LLAMAMOS AL LISTADO PARA QUE SE ACTUALIZE LA TABLA
JOptionPane.showMessageDialog(null,"Datos Guardados con Exito");
} catch (SQLException e1){
System.out.println("ERROR SQL:"+e1.getMessage());
Paso9 :
Nos ubicamos dentro del boton Eliminar y codificamos lo siguiente:
String cod =JOptionPane.showInputDialog(null, "Ingrese usuario a eliminar");
String sql="delete from usuarios where usuario='"+cod+"'";
try{
int resu=u1.getSt().executeUpdate(sql);
listado(); //PARA QUE SE ACTUALIZE AUTOMATICAMENTE LOS REGISTROS
if(resu==1){
JOptionPane.showMessageDialog(null, "REGISTRO ELIMINADO");
}
else{
JOptionPane.showMessageDialog(null, "REGISTRO NO ELIMINADO");
}
} catch (SQLException e1) {
JOptionPane.showMessageDialog(null, e1.getMessage());
}
Nos ubicamos dentro del boton nuevo o limpiar y codificamos lo siguiente:
txtclave.setText("");
txtnivel.setText("");
txtusuario.setText("");
txtusuario.requestFocus();//esto es para que el punto de inicio sea el primer TextField
Paso 11 y ultimo :
OJO: recuerden agregar la libreria sqljdbc4


como es el paso 6
ResponderEliminarayuda
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminarESTA BIEN GRACIAS
ResponderEliminarBuenas Jaime.. Quisiera hacerte una consulta.. me aparece un error en la partde del guardado (boton guardado), especificamente luego de usar las variables declaradas..
EliminarUSUARIO, CLAVE Y NIVEL.. cuando escribo:
"String sql = "INSERT INTO Usuarios VALUES(""+usu.getUsuario()+"",""usu.getClave()+"",""usu.getNivel()+"")";
Todo este parrafo me sale con la linea de error :/.. si pudiera ayudarme :(