conectar msql en c

17
CONECTAR MSQL EN C# http://franklintutoriales.blogspot.com/2013/07/insertar- modificar-eliminar-y-consultar.html Hola amigos, bienvenidos a este importante post, este es el inicio para aprender a crear una conexión en C# con MySQL, posteriormente realizaremos una inserción, modificación y eliminación de datos en una base de datos desde C#, pero por ahora lo importarte es crear la base de datos y crear la cadena de conexión en C#. Lo primero que debemos hacer es crear la base de datos en MySQL, lo cual yo uso el software MySQL Workbench para crear bases de datos, si quieres aprender su uso y creación de base de datos (incluyendo diagrama E-R) puedes ver los tutoriales aquí en este post. En el siguiente vídeo muestro una breve introducción y la creación de la base de datos que utilizaremos para la ejecución de nuestra conexión: Link del vídeo: http://www.youtube.com/watch? v=jI9c_wYgU1g Acá esta el codigo para crear la BD y su respectiva tabla: create database Tutorial; use Tutorial; CREATE TABLE Clientes ( IdCliente INT NOT NULL AUTO_INCREMENT, Nombre VARCHAR(50) NOT NULL, Apellido VARCHAR(45) NOT NULL, Fecha_Nacimiento DATE NOT NULL, Direccion Text, PRIMARY KEY (IdCliente) ) ENGINE=InnoDB;

Upload: bolivar-orbe-robles

Post on 04-Sep-2015

215 views

Category:

Documents


1 download

DESCRIPTION

Uso de base de datos mysql con lenguaje de programación c#

TRANSCRIPT

CONECTAR MSQL EN C#http://franklintutoriales.blogspot.com/2013/07/insertar-modificar-eliminar-y-consultar.html

Hola amigos, bienvenidos a este importante post, este es el inicio para aprender a crear unaconexinen C# conMySQL,posteriormenterealizaremos unainsercin,modificacinyeliminacin dedatos en una base de datos desde C#, pero por ahora lo importarte es crear la base de datos y crear la cadena deconexinen C#.Lo primero que debemos hacer es crear la base de datos en MySQL, lo cual yo uso el software MySQL Workbench para crear bases de datos, si quieres aprender su uso y creacin de base de datos (incluyendo diagrama E-R) puedes ver los tutoriales aqu en este post.

En el siguientevdeomuestro una breve introduccin y la creacinde la base de datos que utilizaremos para laejecucindenuestraconexin:

Link del vdeo: http://www.youtube.com/watch?v=jI9c_wYgU1g

Ac esta el codigo para crear la BD y su respectiva tabla:

create database Tutorial;

use Tutorial;

CREATE TABLE Clientes ( IdCliente INT NOT NULL AUTO_INCREMENT, Nombre VARCHAR(50) NOT NULL, Apellido VARCHAR(45) NOT NULL, Fecha_Nacimiento DATE NOT NULL, Direccion Text, PRIMARY KEY (IdCliente)) ENGINE=InnoDB;

Lo siguiente que necesitamos es instalar el driver que proporciona mysql para conectarnos desde .NET , el cual se llama MySQL Connector/Net, y lo puedes descargar desdeAqu.

En el siguiente video les muestro la instalacin: http://www.youtube.com/watch?v=m5WwaFwK3Wo

Luego de haber instalado el conector de mysql se puede decir que ya estamos listos para trabajar en C# y conectarnos con la base de datos que hemos creado en mysql.Lo que haremos sera crear un nuevo proyecto Windows forms al cual le llamaremosConexionCSharpconMySQL al cual le crearemos un formulario como este:

OJO!!! en el ToolStrip de la parte de abajo para que se muestre el texto e imagenes en los botones, a la propiedad DisplayStyle se le debe de asignar ImageAndText.Ahora lo que vamos hacer es agregar una nueva clase a la cual le llamaremos BdComun, dicha clase nosservirpara tener la cadena deconexinhacia MySQL. por lo cualtendr el siguientecdigo:

public class BdComun { public static MySqlConnection ObtenerConexion() { MySqlConnection conectar = new MySqlConnection("server=127.0.0.1; database=Tutorial; Uid=root; pwd=;"); conectar.Open(); return conectar; } }

Explicacindelcdigo:

ObtenerConexion= Nombre delmtodoque nos conectara a la base de datos.Server = Servidor de MySQL.database = Nombre de la base de datos a la cual nos conectamos.

Uid = Nombre del usuario de Mysql (por defecto "root")pwd = Contrasea del usuario (dejar en blanco sino tiene).

Finalmente el video practico para entender mas:Link del video: http://www.youtube.com/watch?v=e8R3-EXqQIM (entra y dale like)Espero que te haya servido, en el siguiente articulo aprenderemos a insertar registros a la bd, si te gustaron losvdeosdale like en youtube ycomprtelos!!. Adios!

Clic Aqu para ver la continuacin.

Insertar, modificar, eliminar y consultar registros en MySQL desde C# - parte 1Hola amigos, bienvenidos nuevamente aun nuevo articulo relacionado a C# y MySQL, anteriormente aprendimosa conectarnos a MySQL desde C# puedes ver Aquel post, lo que aprenderemos ahora sera a insertarregistros desde C# hacia la base de datos MySQL, pues ya teniendo listas las conexiones, de seguro recuerdanque creamos una clase llamada BdComun esta a su vez contiene.

UnmtodollamadoObtenerConexion el cualtiene la cadena de conexion, entonces ahora lo que vamos hacer sera crear un nueva clase llamada Clienteque basicamente enprogramacinOrientada a Objetosrepresentaraun objeto cliente, en este sentido debe tener datosrelacionados al cliente, debemos agregar los mismo campos que tenemos en la tabla Clientes de la base de datos.

Este sera elcdigode la clase Cliente:

public class Cliente { public int Id { get; set; } public string Nombre { get; set; } public string Apellido { get; set; } public string Fecha_Nac { get; set; } public string Direccion { get; set; }

public Cliente() { }

public Cliente(int pId, string pNombre, string pApellido, string pFecha_Nac, string pDireccion)

{ this.Id = pId; this.Nombre = pNombre; this.Apellido = pApellido; this.Fecha_Nac = pFecha_Nac; this.Direccion = pDireccion; }

}

Como ven tiene cinco propiedades que son equivalentes a los cinco campos de la tabla,al igual tiene un constructorvacipublic Cliente() { } el cual se utiliza para crear los objetosya que de esta forma no recibeparmetrosy podemos invocarlo sin problemas, por otra parte tenemos otro constructor el cual tiene cincoparmetros, podemos interpretar que los parametros nos serviran para enviar o trasportar los datos hacia laspropiedades y posteriormente donde nosotros los queramos utilizar.

Lo siguiente que haremos ser agregar un nueva clase ahora le llamaremos ClientesDALesta clasetendrmtodosque nosejecutarancomandos hacia MySQL tales como un Insert, delete, update, entre otros,por el momento vamos aadir elmtodoagregar el cual insertara un cliente a la BD, la clasequedaraas:

public class ClientesDAL {

public static int Agregar(Cliente pCliente) {

int retorno = 0;

MySqlCommand comando=new MySqlCommand(string.Format("Insert into clientes (Nombre, Apellido, Fecha_Nacimiento, Direccion) values ('{0}','{1}','{2}', '{3}')", pCliente.Nombre, pCliente.Apellido, pCliente.Fecha_Nac, pCliente.Direccion), BdComun.ObtnerCOnexion()); retorno = comando.ExecuteNonQuery(); return retorno; } }

Ya teniendo esto, nos dirigimos al formulario y programamos en el eventoclicdelbotn, lo que se debe hacer es crear un cliente, es decir llenar sus respectivas propiedades y ejecutar elmtodoagregar para que nos inserte el cliente. Elcdigoseria el siguiente:private void btnGuardar_Click(object sender, EventArgs e) { Cliente pCliente = new Cliente(); pCliente.Nombre = txtNombre.Text.Trim(); pCliente.Apellido = txtApellido.Text.Trim(); pCliente.Fecha_Nac = dtpFechaNacimiento.Value.Year + "/" + dtpFechaNacimiento.Value.Month + "/" + dtpFechaNacimiento.Value.Day; pCliente.Direccion = txtDireccion.Text.Trim(); int resultado = ClientesDAL.Agregar(pCliente); if (resultado > 0) { MessageBox.Show("Cliente Guardado Con Exito!!", "Guardado", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("No se pudo guardar el cliente", "Fallo!!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }

}

Insertar, Modificar, Eliminar y Consultar registros en MySQL desde C# - Parte 2Hola colegas, ahora vamos a continuar con la segunda parte de los tutoriales sobre C# y MySQL, en los que estamos aprendiendoa insertar, modificar, eliminar y consultar registros desde C# en una tabla de MySql (Clientes), en la parte anterior aprendimos ainsertar registros en la tabla clientes lo puedes ver ac. En esta parte vamosaprenderaconsultar registros, por lo cual realizaremos unabsquedade un cliente especifico por su nombre y apellido, para podermostrarlo en un DataGridView,bsicamenteseria una pequea consulta hacia la tabla Clientes, Por lo tanto lo que debemos realizarseria lo siguiente:1. Agregar un nuevo formulario al cual le llamaremos BuscarClientes, el cual debe contener dos label (Nombre, Apellido), dostextbox para el nombre y el apellido respectivamente, un DataGridview y 3 botones el diseo tedeberaquedar como lo muestro en la siguiente imagen:

2. Crear unmtodoen la clase ClientesDAL al cual le nombraremos Buscar ytendrel siguientecdigo:

public static List Buscar(string pNombre, string pApellido) { List _lista = new List(); MySqlCommand _comando = new MySqlCommand(String.Format( "SELECT IdCliente, Nombre, Apellido, Fecha_Nacimiento, Direccion FROM clientes where Nombre ='{0}' or Apellido='{1}'", pNombre,pApellido), BdComun.ObtnerCOnexion()); MySqlDataReader _reader = _comando.ExecuteReader(); while (_reader.Read()) { Cliente pCliente = new Cliente(); pCliente.Id = _reader.GetInt32(0); pCliente.Nombre = _reader.GetString(1); pCliente.Apellido = _reader.GetString(2); pCliente.Fecha_Nac = _reader.GetString(3); pCliente.Direccion = _reader.GetString(4);

_lista.Add(pCliente); } return _lista; }

3. Ya teniendo elmtodoBuscar creado, agregamos otromtodomas, el cual lo he nombrado ObtenerCliente, y tiene el siguientecdigo:

public static Cliente ObtenerCliente(int pId){ Cliente pCliente = new Cliente(); MySqlConnection conexion = BdComun.ObtnerCOnexion();

MySqlCommand _comando = new MySqlCommand(String.Format("SELECT IdCliente, Nombre, Apellido, Fecha_Nacimiento, Direccion FROM clientes where IdCliente={0}", pId), conexion); MySqlDataReader _reader = _comando.ExecuteReader(); while (_reader.Read()) { pCliente.Id = _reader.GetInt32(0); pCliente.Nombre = _reader.GetString(1); pCliente.Apellido = _reader.GetString(2); pCliente.Fecha_Nac = _reader.GetString(3); pCliente.Direccion = _reader.GetString(4); }

conexion.Close(); return pCliente; }

4. Ahora lo que hacemos es abrir el formulario BuscarCliente cuando se haga clic en elbotnBuscar del formCliente (vervdeo).

5. En el formulario BuscarCliente en su botnBuscar invocamos elmtodoBuscar, para cargar los datos en el datagridview elcdigoquedaraasi:

private void btnBuscar_Click(object sender, EventArgs e) { dgvBuscar.DataSource = ClientesDAL.Buscar(txtNombre.Text, txtApellido.Text);

}6. Ahora en elbotnAceptar capturamos el Id del cliente seleccionado e invocamos elmtodoObtenerCliente enviando comoparmetroel Id que selecciono el usuario en el datagridview, elcdigoes el siguiente:

private void btnAceptar_Click(object sender, EventArgs e) { if (dgvBuscar.SelectedRows.Count == 1) { int id = Convert.ToInt32(dgvBuscar.CurrentRow.Cells[0].Value); ClienteSelecionado = ClientesDAL.ObtenerCliente(id);

this.Close(); } else MessageBox.Show("debe de seleccionar una fila"); }

prcticamenteesto sera todo, ahora puedes ver elvdeopara aclara todas las dudas o errores que han surgido: http://www.youtube.com/watch?v=xXxXse4W77Y

Insertar, modificar, eliminar y consultar registros en MySQL desde C# - Parte 3

Hola amigos/as bienvenidos a la parte tres sobre los tutoriales de insertar, eliminar, modificar y consultar datos desde C# y MySQL, ya aprendimos a insertar y consultar, para los que han estado siguiendo los anterioresvdeos se dieron cuenta que luego de mostrar los datos del cliente en el datagridview seleccionbamos un cliente y pasbamos los datos al formulario clientes, entonces ya teniendo los datos del cliente en el formulario de registropodremos cambiar por ejemplo el nombre y al darle en elbotnactualizar nos debe actualizar los datos que hemos cambiado, para esto lo primero que haremos sera agregar un nuevo mtodo en la clase ClientesDAL que si recuerdas es la clase que utilizamos para interactuar con la BD, al mtodo le nombraremos Actualizar y tendr el siguiente cdigo:public static int Actualizar(Cliente pCliente) { int retorno = 0; MySqlConnection conexion = BdComun.ObtenerConexion(); MySqlCommand comando = new MySqlCommand(string.Format("Update clientes set Nombre='{0}', Apellido='{1}', Fecha_Nacimiento='{2}', Direccion='{3}' where IdCliente={4}", pCliente.Nombre, pCliente.Apellido, pCliente.Fecha_Nac, pCliente.Direccion, pCliente.Id), conexion);

retorno = comando.ExecuteNonQuery(); conexion.Close(); return retorno;

}Lo siguiente que hacemos es agregar un propiedad nombrada clienteActual en la parte superior de laprogramacindelformularioClientes (VerVdeo).Y luego en laprogramacindelbotnBuscar aadimos la siguiente linea decdigoque vez en la imagen:

Al asignarle aclienteActual lo que tiene buscar.ClienteSeleccionado, lapropiedadclienteActualtendrtodos los datos del cliente seleccionado por el usuario en el datagridview, incluyendo el Id que necesitamos para actualizar. Por Ultimo programamos elbotnActualizar el cual contiene el siguientecdigo:

Cliente pCliente = new Cliente();

pCliente.Nombre = txtNombre.Text.Trim(); pCliente.Apellido = txtApellido.Text.Trim(); pCliente.Fecha_Nac = dtpFechaNacimiento.Value.Year + "/" + dtpFechaNacimiento.Value.Month + "/" + dtpFechaNacimiento.Value.Day; pCliente.Direccion = txtDireccion.Text.Trim(); pCliente.Id = ClienteActual.Id;

if (ClietesDAL.Actualizar(pCliente) > 0) { MessageBox.Show("Los datos del cliente se actualizaron", "Datos Actualizados", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("No se pudo actualizar", "Error al Actualizar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

Finalmente te dejo elvdeodonde te explico y compruebo laactualizacinde datos, no te olvides dejar tu comentario si te ayudado con el tutorial:

https://youtu.be/vPXZ4dIu9vM

Espero que haya sido te tu agrado el artculo, y continua con la parte 4Insertar, Modificar, Eliminar y Consultar registros en MySQL desde C# Parte 4

Hola amigos/as ahora vamos a continuar con los tutoriales de C# y MySql estamos en la parte 4 y lo correspondiente en esta ocasin es la parte de Eliminar registros de nuestra base de datos desde el formulario en C#, ya aprendimos a insertar, modificar, consultar (puedes verac) y este seria el momento para aprender a eliminar registros (un cliente), les adelanto que aun nos restara una ultima parte en la cual vamos crear mtodos para limpiar las cajas de textos y habilita y deshabilitar los botones dependiendo de la funcin que se este realizando. Bien entonces vamos a dar inicio.Lo primero que haremos sera agregar a la clase ClienteDAL el mtodo para ejecutar una eliminacin, a dicho mtodo lellamaremos Eliminar, y tendr el siguiente cdigo:

public static int Eliminar(int pId) { int retorno = 0; MySqlConnection conexion = BdComun.ObtenerConexion();

MySqlCommand comando = new MySqlCommand(string.Format("Delete From clientes where IdCliente={0}", pId), conexion);

retorno = comando.ExecuteNonQuery(); conexion.Close();

return retorno;

}

Consiste en mandar una instruccin Sql para que elimine un cliente mientras el IdCliente se igual al que especifiquemos al ejecutar el mtodo, y en la variable retorno se guardara un 0 si no se afecto ninguna fila o un 1 si pudo eliminar el cliente

Bien ya teniendo el mtodo creado procederemos a programa en el botn eliminar de nuestro formulario, le agregaremos el siguiente cdigo:

if (MessageBox.Show("Esta Seguro que desea eliminar el Cliente Actual", "Estas Seguro??", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { if (ClienteDAL.Eliminar(clienteActual.Id) > 0) { MessageBox.Show("Cliente Eliminado Correctamente!", "Cliente Eliminado", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("No se pudo eliminar el Cliente", "Cliente No Eliminado", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else MessageBox.Show("Se cancelo la eliminacion", "Eliminacion Cancelada", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

Lo que hace dicho cdigo es mostrar un mensaje preguntando si esta seguro de eliminar, en el caso que el cliente presione el botn si, entonces se ejecutara el mtodo para eliminar el cliente actual.Pero para reforzar lo anterior ac te dejo el vdeo correspondiente al articulo:

Espero te haya sido de utilidad mi post y tutorial deja tu comentario y dale like a losvdeosde mi canal en youtube.

Establecer Llaves Primarias yForneasa un tabla en Sql Sever

Hola amigos, ahora aprenderemos sobre un tema muy importante en Sql Server, el cual es sobre las llaves primarias ( en ingles Primary key) y llaves forneas (Foreign key), les explicare como establecerle llaves primaria y forneas a nuestras tablas en Sql Server..Antes de todo es importante conocer los conceptos bsicos de ambos conceptos:

La clusula PRIMARY KEY se utiliza para definir la clave principal de la tabla. Las columnas que forman la clave principal no pueden contener valores nulos ni pueden haber valores duplicados de la combinacin de columnas.

La clusula FOREIGN KEY sirve para definir una clave fornea sobre una columna o una combinacin de columnas. Una clave fornea es una columna o conjunto de columnas que contiene un valor que hace referencia a una fila de otra tabla.

Creacin de las tablas:

Relacionar Tablas ya creadas:

Finalmente les dejo el Tutorial prctico:https://youtu.be/5hQuxKAF7fQ