lunes, 20 de enero de 2014

Demo | Desarrollo en Capas con .NET - Demo -

Hacking avanzado de Windows 7 por Rodolfo Ceceña -Backtrack Academy

Preguntas sobre NTFS y FAT32-IT Essentials

1. ¿Cuál es la configuración de tamaño de clúster predeterminado al formatear una partición NTFS de Windows en una unidad de disco duro de más de 2 GB?

El tamaño máximo de clúster (predeterminado)en Windows Nt 4.0 y versiones posteriores de Windows es de 4 Kilobytes(KB)

2. ¿Cuál es el comando utilizado para convertir una partición FAT32 en una partición NTFS?
Convert
Guía: Abrimos la consola CMD ,ejecutado como administrador y escribimos convertí  letra_unidad:/fs:ntf
Ejemplo convert E: /fs:ntfs


3. ¿Qué es la tabla maestra de archivos (MFT, Master File Table) y qué contiene?

Es una tabla de valores numéricos. Cada celda de estos valores describe la asignación de clúster de una partición.En otras palabras, es el estado(utilizado o no por un archivo)de cada clúster en la partición en la que esta ubicado



4. ¿Qué es el registro en diario NTFS?

El registro por diario se da cuando el sistema operativo lleva un registro en un archivo separado de todos los cambios producidos en la estructura de directorio de la unidad de disco duro



5. ¿Cómo contribuye el registro en diario a que el sistema operativo se recupere de errores del sistema?

Cuando hay una falla de energía o de sistema, la información contenida en el diario NTFS  se utiliza para regresar los cambios hasta la parte en que el sistema estaba trabajando adecuadamente



6. ¿Por qué las particiones NTFS son más seguras que las particiones FAT32?

Se recomienda el sistema de archivos NTF por las razones siguientes:NTFS es más eficaz que FAT o FAT32 e incluye funciones necesarias para actuar como host de Active Directory asi como otras funciones de seguridad importantes. Podemos convertir las particiones a  NTFS fácilmente, esta conversión mantiene intactos los archivos


miércoles, 13 de noviembre de 2013

Archivos Planos en Netbeans-Descargar ejemplo

Un archivo es un grupo de datos estructurados que son almacenados en algún medio de 
almacenamiento y pueden ser usados por las aplicaciones (programas)

EJEMPLO HECHO USANDO EL IDE NETBEANS 7.3
DESCARGAR EJEMPLO AQUI:
APLICACION COMPLETA USANDO ARCHIVOS PLANOS

o puedes copiar y pegar esto en tu navegador:

https://mega.co.nz/#!TVIwQCBA!XBO3RWTb_n-i0sZWtBHABCvPQC02x6fozyrfqpiDuo8

martes, 12 de noviembre de 2013

Conexion a SQL Server con NetBeans -Consultas

Objetivos:
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());
        }

Paso 10:
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 :
Ejecutamos nuestra aplicacion




OJO: recuerden agregar la libreria  sqljdbc4  







Busqueda Sensitiva con NetBeans conectado a SqlServer

 como hacer un filtro de palabras en una Table usando el IDE NetBeans conectado a una Base de Datos SqlServer 2008. Por ejemplo:

*Tenemos un JtextField y una tabla,(no es necesario un boton ya que la busqueda es automatica)

1: Mi tabla en sql tiene los siguientes atributos:
-idproducto
-nombre
-stock

-Para este tutorial usaremos el  evento KeyRelease
(Click derecho sobre el TextField-events-Key-KeyRelease)

String sql="SELECT idproducto,nombreproducto,stock FROM productos where Nombreproducto like '"+txtdescrip.getText()+"%'";
  
DefaultTableModel m1=(DefaultTableModel)tblproductos.getModel();
    m1.setRowCount(0);
    try {
        ResultSet rs=u1.getSt().executeQuery(sql);
        while (rs.next()){
            Object[] fila={rs.getInt(1),rs.getString(2),rs.getInt(3)};
            m1.addRow(fila);
            
        }
    } catch (SQLException ex) {
        Logger.getLogger(frmconsultas.class.getName()).log(Level.SEVERE,null,ex);
    }


Ojo:Mi tabla se llama "tblproductos";
Ejemplo:




ESPERO SUS COMENTARIOS..