jueves, 8 de diciembre de 2016

Programa Suma

.model small
.stack 100
.data
msj1 db 'Numero 1: ','$'
msj2 db 13,10,'Numero 2: ','$'
msj3 db 13,10,'Suma: ','$'
linea db 13,10,'$'
var1 db 0
var2 db 0
.code
.startup

call limpia
mov ah,09h
lea dx, msj1 ;desplegar numero 1:
int 21h

call leer ;lee primer numero
sub al,30h ;restar 30h para obtener el numero
mov var1,al ;lo guardo en var1
mov ah,09h
lea dx, msj2 ;desplegar numero 2:
int 21h

call leer ;lee segundo numero
sub al,30h ;restar 30h para obtener segundo valor
mov var2,al ;guardar en var2
mov bl,var2 ;mover a bl

add bl,var1 ; realizo la suma de var2(bl) y var1 y el resultado queda en bl
mov ah,09h
lea dx,msj3 ;imprimir suma
int 21h
mov dl,bl ;pongo en dl el numero a imprimir var2(bl)
add dl,30h ; agrego 30h para obtener el caracter  
mov ah,02h ;imprime un caracter
int 21h
.exit
salto proc near
mov ah,09h
lea dx,linea
int 21h
mov dl,00h
ret
salto endp

leer proc near
mov ah,01h;leer caracter desde el teclado
int 21h;lee primer caracter
ret
leer endp

limpia proc near
mov ah,00h
mov al,03h
int 10h
ret
limpia endp
end





































Programa 28:PROGRAMA QUE SUMA DOS NUMEROS ENTEROS

; FUNCION : Suma de dos numeros.
 ; Guillermo Arturo Mireles Garcia
 ; COMPILADOR EN EL QUE SE EJECUTO: TASM


 ; DECLARACION DE CONSTANTES

 CR EQU 13 ; Constante CR (Retorno de carro)
 LF EQU 10 ; Constante LF (Salto de l?nea)
 IMPRIMIR EQU 9
 FIN EQU 4C00H
 DOS EQU 21H
 TAB EQU 09H
 BELL EQU 07H


 ; DECLARACION DEL SEGMENTO DE DATOS

 DATOS SEGMENT
 ;-----------------------------------------------------------------------
 ErrorCAP DB 0 ;Bandera de error en la captura de las cantidades
 Cantidad DB 0 ;La cantidad sobre la que se opera, si es 0 mse opera sobre la cantidad 1, si es 1 se opera sobre la cantidad 2.
 CantUnoR DW 0 ;Variable que guarda la cantidad uno convertida a binario
 CantDosR DW 0 ;Variable que guarda la cantidad dos convertida a binario.
 CantUnoN DB 6,0,6 DUP (?) ;Variable que almacena la cantidad uno.
 CantDosN DB 6,0,6 DUP (?) ;Variable que almacena la cantidad dos
 ResultaR DB 11 DUP (?)
 Mensaje DB 13,10,13,10,TAB,TAB,TAB,"====================================="
 DB 13,10,13,10,TAB,TAB,TAB,"Programa 28:PROGRAMA QUE SUMA DOS NUMEROS ENTEROS"
 DB 13,10,13,10,TAB,TAB,TAB,"=====================================",13,10
 DB 13,10,13,10,TAB,TAB,TAB,"(las cantidades debe ser < a 65535)",13,10,13,10,13,10,"$"
 M_error1 DB BELL,13,10,"ERROR: digito invalido en cantidad 1.",13,10,13,10,"$"
 M_error2 DB BELL,13,10,"ERROR: digito invalido en cantidad 2.",13,10,13,10,"$"
 M_error3 DB BELL,13,10,"ERROR: cantidad fuera de rango (65535)","!!!.",13,10,13,10,"$"
 M_cant_1 DB 13,10,13,10,TAB,TAB,"Dar la primera cantidad:", "$"
 M_cant_2 DB 13,10,13,10,TAB,TAB,"Dar la segunda cantidad:", "$"
 M_result DB 13,10,13,10,13,10,TAB,TAB,TAB,BELL,"El resultado es: ","$"
 M_espaci DB 13,10,13,10,13,10,13,10,13,10,13,10,"$"
 ;-------------------------------------------------------------
 ;Tabla de potencias usada para convertir el resultado binario de la
 ; operacion en formato ASCII. Se usan las potencias de 10 (1,10,100,1000
 ;y 10000), porque el numero mas grande es 65535. En caso de que quiera
 ;operar sobre numeros mas grandes amplie la tabla.
 ;-------------------------------------------------------------
 Potencia DW 001h, 000ah, 0064h, 03E8h, 2710h
 PotenciaF DW $
 ;-----------------------------------------------------------------------
 DATOS ENDS

 ; DECLARACION DEL SEGMENTO DE PILA

 PILA SEGMENT STACK
 ;-----------------------------------------------------------------------
 DB 64 DUP('PILA')
 ;-----------------------------------------------------------------------
 PILA ENDS

 ; DECLARACION DEL SEGMENTO DE CODIGO

 CODIGO SEGMENT


 pe28_sum PROC FAR ; Etiqueta de comienzo de programa
ASSUME CS:CODIGO,DS:DATOS,SS:PILA
 ;-------------------------------------------------------------
 MOV AX, DATOS ; Inicializa DS con la direccion de @Data
 MOV DS, AX
 MOV DX, Offset Mensaje ; Despliega el mensaje de bienvenida
 CALL IMPRIME
 MOV SI, Offset ResultaR ;Inicializa la variable ResultaR
 ADD SI, 11
 MOV AL, "$"
 MOV [SI], AL


 ; Se capturan las cantidades y se guardan en sus respectivas
 ; variables para poder trabajar sobre ellas mas adelante. La
 ; captura se basa en la funcion 09 de l aINT 21h. Dicha funcion
 ; establece que el registro AH contenga 09 y el registro PAR DS:DX
 ; apunte a la direccion de la variableque almacenara la estructura del
 ; Buffer el cual debe estar construido de la siguiente manera:
 ;
 ; BYTE 1 = Cantidad de bytes por leer
 ; BYTE 2 = (llenado por MS-DOS) es la cantidad debytes realmente leidos
 ; BYTE 3 = Buffer donde se almacen ael resultado, debe encontrarse
 ; inicializado con la misma cantidad de bytes especificados
 ; por el byte 1.


; Las cantidades capturadas representan una cadena que es necesario
 ; convertir a binario antes de que se pueda operar sobre ella.
 ;
 ;-------------------------------------------------------------
 ;-------------------------------------------------------------
 ; captura primera cantidad
 ;-------------------------------------------------------------
 CAPCANT1:
 ;-------------------------------------------------------------
 MOV DX, Offset M_cant_1 ; Mensaje de captura de cantidad 1.
 CALL IMPRIME
 ;-------------------------------------------------------------
 MOV AH, 0AH ; Captura la cantidad (hasta 8 digitos)
 MOV DX, Offset CantUnoN
 INT DOS
 ;-------------------------------------------------------------
 MOV ErrorCAP, 0 ; Supone que no hay errores y que se esta operando sobre la cantidad 1.
 MOV Cantidad, 0
 ;-------------------------------------------------------------
 CALL ConvNUM ; Convierte cantidad uno a binario
 ;-------------------------------------------------------------
 CMP ErrorCAP, 1 ;?hubo error?
 JZ CAPCANT1 ; Si, regresa a la captura
 ;-------------------------------------------------------------
 MOV CantUnoR, Bx ; Guarda resultado de conversion

 ;-------------------------------------------------------------
 ; Captura segunda cantidad
 ;-------------------------------------------------------------
 CAPCANT2:
 ;-------------------------------------------------------------
 MOV ErrorCAP, 0 ; Supone que no hay errore
 MOV Cantidad, 1 ; indica a ConvNUM que es la segund acantidad
 ;-------------------------------------------------------------
 MOV Dx, Offset M_cant_2 ; Mensaje sobre captura de cantidad dos.
 CALL IMPRIME
 ;-------------------------------------------------------------
 MOV AH, 0Ah ; Captura la segunda cantidad
 MOV DX, Offset CantDosN
 INT DOS
CALL ConvNUM ; Convierte cantidad dos a binario

 ;-------------------------------------------------------------
 CMP ErrorCAP, 1 ;?hubo error?
 JZ CAPCANT2 ; Si, regresa a capturar la cantidad
 ;-------------------------------------------------------------
 MOV CantDosR, BX ; Guarda conversion d ecantidad 2.


;-------------------------------------------------------------
 CALL SUMA ; Suma las dos cantidades


 ;-------------------------------------------------------------
 ; TERMINA EL PROGRAMA
 ;-------------------------------------------------------------

 MOV AX, FIN ; Termina el progrma sin error
 INT DOS ; 21H
 ;-----------------------------------------------------------------------
 pe28_sum ENDP ; Fin del procedimiento p3_iden
 ;-----------------------------------------------------------------------

 ; RUTINAS DE SOPORTE

 ;-------------------------------------------------------------
 ; Rutina: Suma
 ; Proposito: Suma dos numeros enteros sin signo
 ; Parametros: En el registro Ax el primer numero y en BX el segundo
 ; Regresa: El resultado en el registro par DX:AX, que es desplegado en la pantalla.
 ;-------------------------------------------------------------

 SUMA PROC NEAR

 XOR DX, DX ; Dx = 0 Por si acaso existe acarreo.
 MOV AX, CantUnoR ; Primera cantidad
 MOV BX, CantDosR ; Segunda cantidad
 ADD AX, BX ; Las suma
 Jnc CONVERTIR_SUMA ; ?Hubo acarreo?
 Adc DX, 0 ; Si
 CONVERTIR_SUMA:
 CALL ConvASCII ; Convierte resultado en ASCII
 MOV DX, Offset M_result ; Despliega cadena del resultado
 CALL IMPRIME
 MOV DX, Offset REsultaR ; Despliega el resultado
 CALL IMPRIME
 MOV DX, Offset M_espaci ; Despliega espacios despues del reusltado
 CALL IMPRIME
 RET

 SUMA ENDP

 ;-------------------------------------------------------------
 ; Rutina: Imprime
 ; Proposito: Despliega una cadena
 ; Parametros: El registro DX contiene el desplazamiento de la cadena
 ; Regresa: Nada
 ;-------------------------------------------------------------

 IMPRIME PROC NEAR
 MOV AH, IMPRIMIR ; Prepara para desplegar la cadena a traves de la INT 21h
 INT DOS
 RET
 IMPRIME ENDP

 ;-------------------------------------------------------------
 ; Rutina: ConvNUM
 ; Proposito: Convertir una cadena en un entero largo
 ; Parametros: La longitud de la cadena y la direccion de la mism, y se pasan a la pila
 ; Regresa: En el registro BX la cadena convertida en un entero
 ;-------------------------------------------------------------

 ConvNUM PROC NEAR

 MOV DX, 0AH ; Multiplicador es 10
 CMP Cantidad, 0 ; ?Es la cantidad 1?
 Jnz CONVNUM1 ; No, asi que es la cantidad 2
MOV DI, Offset CantUnoN + 1; Bytes leidos de la cantidad 1
 MOV CX, [DI]
 MOV SI, Offset CantUnoN + 2; La cantidad 1
 JMP CONVNUM2
  CONVNUM1:
 MOV DI, Offset CantDosN +1 ; Bytes leidos de la cantidad 2
 MOV CX, [DI]
 MOV SI, Offset CantDosN + 2; La cantidad 2
 CONVNUM2:
 XOR Ch, Ch ; CH = 0
 MOV DI, Offset Potencia ; Direccion de la tabla de potencias
 Dec SI ; Posiciona Si En el primer byte de la cadena capturada y le suma el desplazamiento de bytes leidos, para que podamos posiionarnos
 ; en el final de la misma (apunta al ultimo digito capturado). BX =0 y lee la cadena en forma inversa: es decir, de atras hacia adelante.
 ADD SI, CX
 XOR BX, BX
 Std
 CONVNUM3:
 LODSB ; Levanta un byte del numero (esta instruccion indica que el registro AL sera cargado con el contenido de la direccion apuntada por DS:SI.)
 CMP AL, "0" ; ?Es menor que 0? (Entonces NO es un digito valido)
 JB CONVNUM4 ; Si Despliega el mensaje de error y termina
 CMP AL, "9" ; ?Es mayor que 9? (entonces NO e sun digito valido)
 JA CONVNUM4 ; Si, despliega el error y salta
 SUB Al, 30h ; convierte el digito de ascii a binario
 CBW ; Convierte a palabra
 MOV DX, [DI] ; obtiene la potencia de 10 que sera usada para multiplicar,
 Mul DX ; Multiplica numero y lo suma a Bx
 JC CONVNUM5 ; Revisa si hubo acarreo, y si lo hubo esto
 ADD BX, AX ; significa que la cantidad es > 65535
 JC CONVNUM5 ; Si hay acarreo la cantidad es mayor a 65535
 ADD DI, 2 ; Va a la siguiente potenci ade 10
 LOOP CONVNUM3 ; Itera hasta que Cx sea = 0.
 JMP CONVNUM6 ;
 CONVNUM4:
 CALL HuboERROR ; Algo ocurrio, despliega mensaje y salta
 JMP CONVNUM6
 CONVNUM5:
 MOV Cantidad, 2 ; Hubo acarreo en la conversion, por lo tanto la
 CALL HuboERROR ; cantidad capturada es mayor que 65535.
 CONVNUM6:
 CLD ; Regresa la bandera de direccion a su estado normal
 RET ; y Regresa.
 ConvNUM ENDP

 ;-------------------------------------------------------------
 ; Rutina: ConvASCII
 ; Proposito: Convertir un valor binario en ASCII
 ; Parametros: El registro par DX:AX
 ; Regresa: Nada, pero almacena el resultado en el buffer ResultaR
 ;-------------------------------------------------------------

 ConvASCII PROC NEAR

 ;-------------------------------------------------------------
 ; Lo primero que se hace es inicializar la variable que contendra al resultado de la conversion
 ;-------------------------------------------------------------

 PUSH DX
 PUSH AX ; Guarda el resultado
 MOV SI, Offset REsultaR ;Inicializa la variable REsultaR llenandolacon CEROS.
 MOV CX, 10
 MOV Al, "0"
 ConvASCII1:
 MOV [SI], AL
 INC SI
 LOOP ConvASCII1
 POP AX
 POP DX
 MOV BX, AX ; Palabra baja de la cantidad
 MOV AX, DX ; Palabra alta de la cantidad
MOV SI, Offset ResultaR ; Cadena donde se guardara el resultado
 ADD SI, 11
 MOV CX, 10 ; Divisor = 10
 OBTENDIGITO:
 DEC SI
 XOR DX, DX ; DX contendra el residuo
 DIV CX ; Divide la palabra alta (AX)
 MOV DI, AX ; Guarda cociaente (AX)
 MOV AX, BX ; AX = palabra baja (BX)
 DIV CX ; DX tenia un residuo de la division anterior
 MOV BX, AX ; Gurada el cociente
 MOV AX, DI ; Regresa la palabra alta
 ADD Dl, 30h ; Convierte residuo en ASCII
 MOV [SI], Dl ; Lo almacena
 OR AX, AX ; ? Palabra alta es 0 ?
 JNZ OBTENDIGITO ; No, sigue PROCesando
 OR BX, BX ; ? Palabra baja es 0 ?
 JNZ OBTENDIGITO ; No, sigue procesando
 RET

ConvASCII ENDP

;-------------------------------------------------------------
 ; Rutina: HuboERROR
 ; Proposito: Desplegar elmensaje de error adecuado
 ; Parametros: Nada
 ; Regresa: Nada
 ;-------------------------------------------------------------

 HuboERROR PROC NEAR
 CMP Cantidad, 0 ; ?Es la cantidad 1?
 JNZ HUBOERROR2 ; nO
 MOV Dx, Offset M_error1
 CALL IMPRIME
 MOV ErrorCAP, 1 ; Enciende la bandera de error
 JMP HUBOERROR4
 HUBOERROR2:
 CMP Cantidad, 1 ; ?Es la cantidad 2?
 JNZ HUBOERROR3 ; No
 MOV Dx, Offset M_error2
 CALL IMPRIME
 MOV ErrorCAP, 1
 JMP HUBOERROR4
 HUBOERROR3:
 CMP Cantidad, 2 ; CANTIDAD CAPTURADA ESTA FUERA DE RANGO?
 JNZ HUBOERROR4 ; No.
 MOV DX, Offset M_error3
 CALL IMPRIME
 MOV ErrorCAP, 1
 JMP HUBOERROR4
 HUBOERROR4:
 RET
 HuboERROR ENDP

 CODIGO ENDS

 END pe28_sum
































Programa Resta

.model small
.stack 100
.data
msj1 db 'Numero 1: ','$'
msj2 db 13,10,'Numero 2: ','$'
msj4 db 13,10,'Resta: ','$'
linea db 13,10,'$'
var1 db 0
var2 db 0
.code
.startup

call limpia
mov ah,09h
lea dx, msj1 ;desplegar numero 1:
int 21h

call leer ;lee primer numero
sub al,30h ;restar 30h para obtener el numero
mov var1,al ;lo guardo en var1
mov ah,09h
lea dx, msj2 ;desplegar numero 2:
int 21h

call leer ;lee segundo numero
sub al,30h ;restar 30h para obtener segundo valor
mov var2,al ;guardar en var2
mov bl,var2 ;mover a bl

mov bl,var1
sub bl,var2
mov ah,09h
lea dx,msj4 ;desplegar resta:
int 21h
mov dl,bl ;mover resta a dl para imprimir
add dl,30h ;sumar 30 para obtener caracter
mov ah,02h ;imprimir un caracter
int 21h

.exit

; ****************PROCEDIMIENTOS
salto proc near
mov ah,09h
lea dx,linea
int 21h
mov dl,00h
ret
salto endp

leer proc near
mov ah,01h;leer caracter desde el teclado
int 21h;lee primer caracter
ret
leer endp

limpia proc near
mov ah,00h
mov al,03h
int 10h
ret
limpia endp
end



































Programa Multplicación

.model small
.stack 100h
.data
d1 db ?
d2 db ?
crlf db 10,13,10,13,"$"

problema   db "Multiplicacion de dos numeros $"
digito1     db "Valor 1: = $ "
digito2     db "Valor 2: = $ "
result     db "El resultado es: $ "

.code
inicia_operacion:

mov ax,@data
mov ds,ax

mov dx,offset crlf ; insertar linea
mov ah,09h
int 21h

mov dx,offset problema ;mensaje como titulo
mov ah,09h
int 21h

mov dx,offset crlf ;insertar linea
mov ah,09h
int 21h

mov dx,offset digito1
mov ah,09h
int 21h
mov ah,01h
int 21h
mov d1,al
sub d1,30h
mov dx,offset crlf ;insertar linea
mov ah,09h
int 21h
mov dx,offset digito2
mov ah,09h
int 21h
mov ah,01h
int 21h
mov d2,al
sub d2,30h
mov dx,offset crlf ;insertar linea
mov ah,09h
int 21h
mov dx,offset crlf ;insertar linea
mov ah,09h
int 21h
;calculo de la multiplicacion-----
mov ax,0h ;limpiar el acumulador
mov al,d1
mul d2
aam ; (aam) aplicar ajuste ascii de la multiplicacion
mov bx,ax

;mostrar el resultado de la operacion

mov dx,offset result
mov ah,09h
int 21h

mov dl,bh ; mostra decenas
add dl,30h
mov ah,02h
int 21h

mov dl,bl
add dl,30h
mov ah,02h
int 21h

;insertar linea

mov dx,offset crlf
mov ah,09h
int 21h

_salir_a_modo_de_msdos:

mov ah,4ch
int 21h

end inicia_operacion
























Programa División

.model small
.stack 100
.data
msj1 db 'Numero 1: ','$'
msj2 db 13,10,'Numero 2: ','$'
msj3 db 13,10,'Suma: ','$'
msj4 db 13,10,'Resta: ','$'
msj5 db 13,10,'Multiplicacion: ','$'
msj6 db 13,10,'Division: ','$'
linea db 13,10,'$'
var1 db 0
var2 db 0
.code
.startup
call limpia
mov ah,09h
lea dx, msj1 ;desplegar numero 1:
int 21h
call leer ;lee primer numero
sub al,30h ;restar 30h para obtener el numero
mov var1,al ;lo guardo en var1
mov ah,09h
lea dx, msj2 ;desplegar numero 2:
int 21h
call leer ;lee segundo numero
sub al,30h ;restar 30h para obtener segundo valor
mov var2,al ;guardar en var2
mov bl,var2 ;mover a bl
mov ah,09h
lea dx,msj6 ;desplegar div
int 21h
xor ax,ax ;limpiamos el registro ax.
mov al,var2
mov bl,al
mov al,var1
div bl ; divide AX/BX el resultado lo almacena en AX, el residuo queda en DX
mov bl,al
mov dl,bl
add dl,30h
mov ah,02h
int 21h
.exit

salto proc near
mov ah,09h
lea dx,linea
int 21h
mov dl,00h
ret
salto endp

leer proc near
mov ah,01h;leer caracter desde el teclado
int 21h;lee primer caracter
ret
leer endp

limpia proc near
mov ah,00h
mov al,03h
int 10h
ret
limpia endp
end






































Instrucciones de MySQL Workbench

Insertar Registros (INSERT INTO)











Mostrar Registros (SELECT)












El Resultado de estas dos Instrucciones es el siguiente:











Modificar los registros de la tabla

Aquí se muestra la tabla previa al cambio:












Está es la Instrucción necesaria para hacer la modificación (UPDATE):













Y así sería el resultado:







Eliminar registro de la Tabla

Aquí se muestra la tabla previa al cambio:








Está es la Instrucción necesaria para eliminar registros (Delete):












En este caso eliminaremos al alumno que tiene Numero de control=132456 como se muestra en el resultado final:










Esquema Entidad-Relación en MySQL:


Se creara un Esquema llamada Tecnológico donde se crearan las 4 tablas como se muestra en la imagen:










Después se creara un Diagrama donde pondremos de forma visual las 4 tablas como se muestra en la imagen:













Operaciones Aplicadas en Consulta:

Aquí se aplicaran cambios en la tabla sin necesidad de hacer consultas, simplemente se agregaran los registros y daremos en apply , el programa hará todo el proceso para agregar dichos registros:





































Consultas con Patron like en MYSQL:


Gracias a esta consulta se puede buscar registros a partir de un rasgo en común entre los registros gracias al patron like, en este ejemplo se buscara a los alumnos que su nombre empiece con la letra S:

































Operadores de comparación en MySQL:

En esta instrucción se compara entre todas las calificaciones finales y se mostraran aquellas que sean igual a 90 como se muestra en las siguiente imágenes:








































Conversión y extracción de cadenas en MySQL:

Se ingresara una cadena la cual se convertirá de minúsculas a mayúsculas gracias a esta instrucción:
















Por otra parte con esta instrucción se selecciona el numero de letras que quedaran de una palabra, ya sea de izquierda a derecha o viceversa:
















Conversión de base numérica en MySQL:

En esta instrucción mostraremos como un número cualquiera se muestra en binario, octal y hexadecimal. también realizando la conversión de base numérica por medio de una consulta y mostrándolo en una tabla como se muestra en la imagen:







Triggers(Tabla) en MySql:

Con esta acción se hará una tabla para permitir ver todas las modifciones realizadas a una tabla mediante una bitacora, su instrucción es la siguiente:




Trigger Insertar en MySQL:

Después de haber creado la tabla de la bitácora  se mostrara en caso de que se inserte un nuevo registro en la nueva tabla como se muestra en la siguiente imagen:






Después de esta instrucción se ingresa a la tabla kardex y modifica un campo el resultado se mostrará en la tabla bitacorakardex, este seria el resultado:








Trigger Modificar en MySQL:

En este caso se realizo la modificación de un campo en la tabla de kardex agregando los siguientes campos:






Después de esta instrucción se ingresa a la tabla kardex y modifica un campo el resultado se mostrará en la tabla bitacorakardex, este seria el resultado:










Trigger Eliminar en MySQL:

Ahora se mostrara como eliminar y que este trigger lo guarde en la nueva tabla de bitácora:


A continuación se checa en la tabla de bitacorakardex para mostrar el resultado como se muestra en la imagen:


Conectar a una base de datos My SQL desde NetBeans

1.- Tienes que descargarte el conector de MySql , puedes hacerlo desde aquí:
http://dev.mysql.com/downloads/connector/j/3.1.html
Se descargará un archivo mysql-connector-java-5.0.8.zip (es la última versión estable hasta el momento de la creación de esta guía), descomprimelo y tendrás un archivo mysql-connector-java-5.0.8-bin.jar.
2.- Hay que importarlo dentro de tu proyecto para que netbeans pueda conectarse a la base de datos, para esto haz lo siguiente: En tu proyecto, tienes tienes una carpeta que se llama Libraries, haz clic derecho ahí y elige la opción Add JAR/Folder, te saldrá una ventana donde debes buscar la librería antes mencionada ( mysql-connector-java-5.0.8-bin.jar) y haz clic en abrir, veras que la librería se agrega a tu proyecto, ahora estas listo para indicarle a Netbeans donde esta la base de datos.


adjuntalibreria1
adjuntalibreria2


adjuntalibreria4

3.- En tu proyecto se recomienda crear un package para que pueda identificar tu clase que contendrá el código para la conexión a tu base de datos MySql, para esto haz clic derecho sobre Source Packages, después elige New Package, dale un nombre a tu Package y haz clic en Finalizar.

conexion1
conexion2
4.- Después crea tu clase Java dentro de tu package, puedes llamarle conexion, pero también puedes llamarlo como tu quieras, yo le llamaré conexion.
conexion3



conexion4
5.- Ahora solo haz doble clic sobre la clase nueva e inserta el siguiente código, te explico:
conexion5La línea : Class.forName(“com.mysql.jdbc.Driver”);
Le indica a Java a que tipo de base de datos se conectará, en este caso estamos indicando a MySql.
La línea: con = DriverManager.getConnection(“jdbc:mysql://tuservidor:3306/tubasededatos”,”usuario”,”password”);
donde:
tuservidor.- es el nombre de la maquina o su ip que contiene el MySql.
tubasededatos.- es el nombre de la base de datos donde harás las consultas.
usuario.- es el usuario que utilizas para abrir el Mysql (generalmente es root)
password.- es la contraseña que ocupas para abrir MySql.