conexion de c sharp a my sql

13

Upload: julian-benavidez

Post on 17-Jul-2015

422 views

Category:

Technology


3 download

TRANSCRIPT

Page 2: Conexion de c sharp a my sql

Conexión a My Sql con C#

N. Julian Benavidez S Copyright by Kyuubi, 2013 Página 1

En el presente documento, explicaré el procedimiento para realizar una conexión de C#

(c Sharp) a My Sql, lo hare con visual C # express 2008, tambien el procedimiento

funciona con Microsoft Visual Studio 2010 y 2012, los pasos a seguir son los mismos.

Requerimientos:

Instalar My sql, en mi caso tengo el 5.1.29.

Para lograr hacer uso de las librerias de My sql en

Visual C#, necesitamos el My Sql connector Net

5.2, el instalador se denomina MySql.Data, aquí

una imagen, para falitar el reconocimiento, pesa

4.04 MB.

Instalamos el MySql.Data, el procedimiento es el de siempre, 2ble clic

izquierdo, aceptar térmionos de licencia, siguiente, siguiente, siguiente,

siguiente,finalizar, eso se lo dejo a ustedes.

Y el ultimo ingrediente: el Visual c# express, como mencione al inicio, estos

pasos de conexión funcionan para el viusual portable 2008, y los instalados 2010

y 2012, no he probado con el visual 2005, pero pueden experimentar.

Procedimiento:

Ejecutamos el visual, vamos al menú archivo, luego al sub menú nuevo proyecto, y

elegumos Aplicación de Windows Form.

Yo llamaré al proyecto “Conexión modo

Kyuubi”, ustedes llámenlo como les plazca.

Luego de nombrarla, click en el botón

Aceptar.

Page 3: Conexion de c sharp a my sql

Conexión a My Sql con C#

N. Julian Benavidez S Copyright by Kyuubi, 2013 Página 2

Bien, ya hemos creado el proyecto, el siguiente paso es crear una base de datos, yo

usare una que creé para un proyecto de la universisdad el hace dos semestres, la

denomine restaurante.

Ustedes pueden reutilizar alguna base de datos o crearla… mmmmm bueno si es para

practicar, si es para un proyecto especifico, awebo tienen que hacerla.

La base de datos esta conformada por seis

tablas, menciono esto porque proximamente

explicare como crear formularios, pero eso

sera en mi proximo tutorial.

Una vez creada la base de datos, no haremos

nada mas, por ahora.

Ahora vamos a visual, y agregamos una

clase el proyecto, sub menú Proyecto,

agregar clase.

Restaurante será

mi base de datos

para crear la

conexión.

Page 4: Conexion de c sharp a my sql

Conexión a My Sql con C#

N. Julian Benavidez S Copyright by Kyuubi, 2013 Página 3

Llamaré “Conexión” a esta clase,

pues en ella recidirá el núcleo o la

esencia de este tutorial; una vez

nombrada, click en agregar.

Ahora vamos a lo que importa: la conexión

1) Vamos a Referencias en el panel que esta a la derecha.

2) Click derecho sobre Referencias.

3) Elegimos la opcion agregar referencia.

4) Aparecerá una vetana con varias opciones: Iremos a la pestaña examinar.

Damos varios click a este

icono,hasta que nos presente

las opciones del escritorio,

como se muestra en la imagen

de la derecha.

Page 5: Conexion de c sharp a my sql

Conexión a My Sql con C#

N. Julian Benavidez S Copyright by Kyuubi, 2013 Página 4

Una vez que la ventana muestre los elementos del escritorio, vamos a Mi PC, y

vamos a Disco Local (C).

Luego 2ble click, y elegimos Archivos de

programa.

2ble click en archivos de

programa, y buscamos

MYSQL.

2ble click en MYSQL, y aparecerá esto:

Nota: Si no instalaron el Mysql.Data, se ARRUINARON; cuando

se ha instalado, se crea la carpeta MYSQL Connector Net 5.2.4,

dentro de MYSQL, ésta, señores, es la clave para realizar la

conexión, dentro de ésta carpeta está el elemento para hacer la

conexión, sin el no hay nada.

Page 6: Conexion de c sharp a my sql

Conexión a My Sql con C#

N. Julian Benavidez S Copyright by Kyuubi, 2013 Página 5

2ble click en MYSQL connector, elegimos Binaries, luego .NET 2.0 y finalmente

MySql.Data.dll, luego click en aceptar.

Si se realizó el procedimiento adecuadamente,

en el panel de la derecha, en referencias, debe

aparecer Mysql.Data.

Estamos listos para trabajar: A codificar!!!!!

Creación de la clase Conexión

Agregamos una directiva using System. Data

y dos directivas de My Sql:

using MySql;

using MySql.Data.MySqlClient;

Con estas “librerías” podemos hacer uso de

elementos que permitirán realizar la conexión, si

no se agregan estas tres líneas de código en la clase

Conexión, no será posible lograr el objetivo.

Page 7: Conexion de c sharp a my sql

Conexión a My Sql con C#

N. Julian Benavidez S Copyright by Kyuubi, 2013 Página 6

Lo que sigue es declarar una variable, privada y del tipo string, dentro de la clase, esta

variable solo se usara en esta clase. Llamaré a la variable con.

Luego creamos un método que será el encargado de realizar la conexión, será del tipo void

porque no me interesa que retorne ningún valor, yo lo llamaré “Creadordeconexion”,

recibirá como parámetros dos variables del tipo string, una llamada user, pueden llamarla

usuario o como deseen, y otra llamada pass, password, clave o lo que sea. Éstas se

capturarán en el loggin.

Dentro del método se asigna un valor a la variable con, este valor es el que permite la

conexión y funciona así:

1) Srting.Format. Formatea a string los valores que le siguen, aun no me aprendo

su función.

2) Server, indica el servidor o lugar en donde esta alojada la base de datos, en este

caso es local, (localhost), pero podría estar en red, en un host remoto.

3) Database: indicamos el nombre de la base de datos con la que deseamos

trabajar, en este caso, restaurante.

4) User id: almacena el valor correspondiente al usuario, la sintaxis completa es:

User id= (0). En caso que la conexión sea para una sola base de datos.

5) Password: almacena el valor correspondiente a la contraseña de la base de

datos.

6) user, pass, son las variables que se le pasan a la cadena de conexión y las

mismas que recibe el método. (capturadas en el loggin).

Traducción al castellano de la cadena de conexión:

Busca un server; local en este caso; en el server busca una base de datos llamada

restaurante, que tiene usuario y contraseña, todos los caracteres reconócelos como

cadena o string, el usuario y contraseña te los van a pasar como parámetros, es decir, los

vas a capturar en otro lado. (El loggin).

Esa es la lógica de la conexión, entendiendo esto, es fácil.

Variable Método

Page 8: Conexion de c sharp a my sql

Conexión a My Sql con C#

N. Julian Benavidez S Copyright by Kyuubi, 2013 Página 7

A continuación creare otro método, el cual gestionara la conexión, y manejara posibles

errores, la denominare “Connection” y es tipo bool.

Haré uso de un try-catch; en el try, evalúo el caso en que las condiciones sean óptimas

para la conexión, es decir que se ingresen de forma correcta los datos, para ello, creo

una variable dentro del método, del tipo MySqlConnection, la variable se llamara

conexion, almaceno dentro de ella la variable con, que explique en la pagina anterior.

Luego abro la conexión, esto para verificar si los datos de la cadena de conexión son

correctos, posteriormente la cierro; si lo son, retorno un verdadero, si no, paso al catch.

En el catch, especifico que los parámetros de la cadena de conexión no son los correctos

para acceder a la base de datos, por tanto retorno falso.

Y eso es todo.

Hemos terminado la clase que gestiona la conexión.

Ahora demostraré su funcionalidad, para ello crearé un loggin, para que vean que si

funciona.

Creación del Loggin

Vamos al formulario que nos apareció

cuando creamos el proyecto.

Agregamos dos etiquetas o label, dos

botones (button), un cuadro de texto o

text box y una maskedTextBox o

mascara de texto, para la contraseña.

Renombro, label1 para User, label2

para Pass, textbox se llamara txtuser

Y maskedTextBox1 como maskpass.

Page 9: Conexion de c sharp a my sql

Conexión a My Sql con C#

N. Julian Benavidez S Copyright by Kyuubi, 2013 Página 8

Al formulario la cambiare el nombre por loggin, los botones de llamarán btaceptar y

btcancelar, tendrán como texto, aceptar y declinar.

En las propiedades de la maskedTextBox buscamos un

campo denominado PasswordChar y en el digitamos el

símbolo que deseamos sea la mascara para proteger la

contraseña, en mi caso usaré alt+7, (•).

Quedará así el formulario:

Ahora procederé a codificar los botones,

primero codificare el botón cancelar, es

muuuuuuuy difícil, jajajjaja no es cierto,

doy 2ble click y escribiré this.Close();

Está listo el botón cancelar.

Vamos el que si importa: Aceptar.

2ble click sobre el botón aceptar, una ves hecho esto vamos a donde inicia la clase,

dentro de ella, declaro una variable privada del tipo de la Clase Conexión, en otras

palabras, instancio la clase Conexión.

Una vez hecho esto voy al botón aceptar, en el haré un if, con las siguientes

condiciones:

Si el cuadro de texto del usuario está vacío o es igual a vacío y si el cuadro de mascara

de texto está vacío, manda un mensaje que indique error.

Si las cajas de texto contienen datos, llama el método Creadordeconexion de la clase

Conexión, y pásale los valores del cuadro o caja de texto de usuario y el valor que

contenga el cuadro de mascara de texto, luego verifica si el método Connection permite

establecer la conexión, (que regrese true); si los parámetros son correctos, manda un

mensaje que indique que fue exitoso el loggin, sino, manda un mensaje que indique

error en las credenciales, o lo que se te ocurra.

La codificación es la siguiente:

Page 10: Conexion de c sharp a my sql

Conexión a My Sql con C#

N. Julian Benavidez S Copyright by Kyuubi, 2013 Página 9

Codificación del botón

aceptar.

Entre llaves rojas.

Codificación del botón

cancelar o declinar, entre

llaves azules.

Page 11: Conexion de c sharp a my sql

Conexión a My Sql con C#

N. Julian Benavidez S Copyright by Kyuubi, 2013 Página 10

Pero esto no ha terminado, falta compilar el programa, presiono F5, y veamos que pasa.

Intento de loggin sin

ingresar parámetros.

Intento de loggin con usuario valido

pero sin clave correcta o nula.

Intento de loggin con usuario

incorrecto y clave errónea.

Page 12: Conexion de c sharp a my sql

Conexión a My Sql con C#

N. Julian Benavidez S Copyright by Kyuubi, 2013 Página 11

Intento de loggin sin usuario y con

clave.

Loggin exitoso!!!!!!!!!!!!!!!!!!!!!!

Page 13: Conexion de c sharp a my sql

Conexión a My Sql con C#

N. Julian Benavidez S Copyright by Kyuubi, 2013 Página 12

Bueno gente, esto es todo por ahora, próximamente publicare el procedimiento para

realizar formularios y navegación, usando la misma base de datos.

Espero les sea de utilidad este documento, disculpen por algunas expresiones, pero así

me concentro mas cuando programo, trato de divertirme mientras lo hago, de lo

contrario, enloquecería, (no es verdad), es mi sello personal, aunque un poco pajista,

jajajajajajajajajajajajajajajaja.

Si tiene comentarios pueden escribir a mi correo:

[email protected].

Hasta la próxima, sayonara.