A
continuación, estaremos poniendo en práctica los conocimientos adquiridos en el
lenguaje de programación de CSharp(C#), mediante el desarrollo de un CRUD de
datos con este lenguaje, junto con el lenguaje SQL para la gestión de datos en
entorno MySQL, en la cual, para esta serie de tutoriales estaremos utilizando
la herramienta Workbench como gestor de base de datos.
Objetivos.
- Implementar Crud de datos con conocimientos ya adquiridos con este lenguaje orientado a objetos (C#).
- Adquirir conocimientos más profundos de C# y SQL.
- Aprender a realizar conexiones de un formulario, a una base de datos de MySQL.
- Aprender a realizar consultas SQL en un formulario de C# (Leer, Insertar, Actualizar Y Eliminar Registros).
Conocimientos Previos.
- Conocimientos en programación basado a objeto en este caso CSharp(C#).
- Conocimientos en Base de datos con el lenguaje de SQL entorno(MySQL).
Requisitos.
- IDE de Microsoft Visual Studio.
- Paquete de software xampp.
- MySQL de Xampp o la versión de escritorio (MySQL Workbench).
- Conector de MySQL (MySQL Connector 6.8.8).
Pasos para crear el proyecto.
- Crear un formulario con las siguientes características.
- Renombrar cada uno de los campos para hacer más fácil la manipulación de los campos de información.
Nota: En este caso utilizamos las siguientes abreviaciones para (TextBox = txt, NumericUpDown = nud, DateTimePicker = dtp, ComboBox = cmb, Button = btn).Producto = txtProducto.
Cantidad = nudCantidad.
Precio de Compra = txtCompra.
Precio de Venta = txtVenta.
Fecha de Compra = dtpFecha.
Categoria = cmbCategoria. - Renombrar cada uno de los botones para que, al momento de programar no tener equivocaciones.
Guardar = btnGuardar.
Buscar = btnBuscar.
Eliminar = btnEliminar.
Limpiar = btnLimpiar.
Cerrar = btnCerrar. - Ahora pasamos a realizar a nuestro servidor de MySQL a crear una base de datos que se llamara db_crud la cual va a contener una tabla llamada pulperia.
- Ahora debemos realizar una conexión, por lo tanto es la que nos permite gestionar los datos ingresados desde el formulario.

Para poder conectar C# con MySql debemos de agregar una clase, en este caso se llamara admconexion, para empezar con la conexión lo primero que haremos será agregar la referencia "MySqlData" que nos permitirá hacer el llamado de la librería:
using MySql.Data.MySqlClient. Para poder hacer uso de la librería primero debes instalar el archivo MySqlConnector 6.8.8 el cual se menciona en los requisitos.
Luego de esto creamos una función para empezar a crear la conexión, ya en esta cargamos los parámetros de conexión a variables, para luego ser trasladadas a la variable "cadenaconexion" la cual se utilizará al momento de establecer y abrir la conexión en Try. Con el Try Catch determinaremos si la conexión se realizó o no. Si no se realizó le enviaremos un mensaje diciendo que hubo un error en la conexión. Para que la conexión funcione el servidor Apache tiene que estar corriendo en XAMPP. - Ahora debemos realizar una validación de datos.

Para poder validar la información que queremos registrar hemos creado una función llamada “validar” cada uno de los controles se evaluara mediante un if else, esto servirá para que el usuario ingrese información que se requiere y que no pueda dejar ningún campo vacío, de ser así le aparecerá un error al par del control que le indicara que debe ingresar un valor en determinado campo, para que esto pueda suceder hacemos uso de un objeto conocido como “erroProvider” . La programación de esta función es tal y como se muestra en la imagen anterior. - Siguiente paso a realizar es acerca de su programación y empezamos por el botón Guardar.Al programar el botón guardar lo primero que debemos hacer es guardar en variables los valores que se capturan en los controles del formulario. Luego de esto se evalúa si la función validar que hemos creado antes ha dado como valor true y si es así empezamos a declarar y a igualar las variables cant que simboliza las unidades que se han comprado, C que simboliza el precio de compra del producto y V que simboliza el precio de venta del producto. Aquí mismo se declara la variable SQL. Luego de esto se evalúa de igual manera mediante un if si la variable id que hemos creado al comienzo del código ha tomado el valor de 0, si esto es así a la variable SQL que hemos creado anteriormente la cargaremos la consulta SQL donde le decimos que inserte en la tabla pulpería el registro que se ha capturado mediante los controles. Después de esto lo que procede es instanciar la conexiónadmConecion conexion = new admConecion();
Luego con una estructura de control IF se determinara si la conexión se ha realizado, si es así cargaremos en un MySqlCommand la consulta SQL y función de conexión. Luego con el cmd.ExecuteNonQuery indicamos que se ejecute la acción. Si todo esto se ha realizado de la manera correcta el sistema mostrará un mensaje diciendo que “la información ha sido almacenada correctamente!”. En caso que la conexión no se haya realizado la información no será almacenada. Así se muestra:____________________________________________________________________________ - Crear origen de datos con un conjunto de datos.

Para crear el conjunto de datos tenemos que ir a agregar un nuevo elemento y seleccionar "conjunto de datos" luego empezar a construir la tabla de la misma manera que en MySql. Cada campo debe ir con el tipo de dato correspondiente a lo que registra. Una vez terminada la tabla puede ir a crear lo que es el formulario para buscar. Que se muestra en el paso 9.
- Construcción del formulario buscar
Debemos de crear un nuevo formulario, luego de esto debemos irnos a la pestaña Datos y seleccionar "origenes de datos" al dar click en este nos aparecerá la tabla que hemos creado anteriormente que la llamamos "pulpería" debemos de dar click sostenido y arrastrarlo hacia el formulario que hemos creado. Una vez hecho esto nos aparecerán varios elementos los cuales tendremos que borrar algunos y agregar otros. Por ejemplo :
Tenemos que agregar cada elemento que aparece en la parte izquierda de la pantalla con sus propiedades tal y como se muestran en la ilustración.Luego de esto ya hemos configurado los controles del formulario ahora vamos a editar las columnas que se mostrarán en DataGridView.Por ejemplo tendremos que indicar la longitud de la columna que ocupara cada campo, para eso damos click derecho sobre el DataGridView y deshabilitar las opciones que aparecen en la ventanita, luego de esto nos dirigimos a "editar columnas" y damos la longitud de cada campo y seleccionamos los que queremos que aparezcan y los que no como ser: producto, cantidad, compra, venta , ganancia, categoría, entre otras cosas. Luego de esto el formulario nos tendría que quedar de este modo:
- Programación del formulario buscar

Para la programación del botón buscar empezamos con una estructura de control if donde evaluaremos si en cmbbuscar se ha seleccionado un criterio de búsqueda, si no es así se mostrará una ventana con un mensaje que le dirá que debe seleccionar un criterio. Luego se pasa a evaluar lo que es el txtCriterio para determinar si se ha ingresado algún criterio, de no ser así se mostrara una ventana con un mensaje diciendo que debe escribir un criterio para realizar la búsqueda. Una vez evaluadas las condiciones procedemos a crear lo que es la variable SQL. Luego de esto creamos la estructura de control switch que evaluará cual fue el criterio de búsqueda que el usuario seleccionó y de acuerdo a esto ejecutará una de las posibles dos consultas que aparecen en la ilustración de arriba. Dependiendo la evaluación del switch la variable SQL tomará un valor. Al haber finalizado con lo anterior solo queda instanciar la conexión y evaluar con una estructura de control if si la conexión se ha realizado. Si esto es así la variable SQL y la conexión son cargadas a un MySqlDataAdapter para con esto poder hacer el llamado de registros.
- Botón seleccionar:
if(pulperiaBindingSource.Count > 0){registroseleccionado = true;Close();} - Editar Información:
En esta parte regresamos a lo que es el botón guardar, recuerdas la evaluación de la variable id?
Pues si esta tiene un valor igual que 0 es porque se estaba creando un nuevo registro, pero si no es porque el usuario ha realizado una búsqueda exitosa y se ejecuta la sentencia sql update;SQL = string.Format("update pulperia set producto='{0}', cantidad={1}, compra={2}, venta={3}, ganancia={4}, fecha='{5}', categoria='{6}' where pulperia.id={7}", producto, cantidad, compra, venta, ganancia, fecha, categoria, id);
- Eliminar información:
Esta acción se realizará cuando se haya realizado una búsqueda exitosa, luego de haber hecho esto el usuario puede eliminar el registro seleccionado:private void btnEliminar_Click(object sender, EventArgs e){if (id == 0){MessageBox.Show("Primero debe realizar una búsqueda y seleccionar el registro que desea eliminar.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Information);}else{if (MessageBox.Show("Está seguro que desea eliminar el resgistro?", "Confirmar eliminación", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes){string SQL = string.Format("delete from pulperia where id = {0}", id);admConecion conexion = new admConecion();if (conexion.CrearConexion() == true){MySqlCommand cmd = new MySqlCommand(SQL, conexion.oConexion);cmd.ExecuteNonQuery();MessageBox.Show("La información ha sido eliminada correctamente.", "Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Information);btnLimpiar_Click_1(null, null);}}}}
Conclusión:
En este trabajo hemos podido implementar conocimientos que hemos adquiridos en la clase de programación 3. Como ser:
Programación orientada a objetos
Lengua de consultas SQL
Realizar conexiones de formularios con bases de datos
Y diseñar ventanas para la captura de registros.
Esperando que este tutorial escrito e ilustrado pueda ser de mucha ayuda para usted que lo ha leído.
Bibliografía:
Nos hemos guiado con vídeos entregados por el profesor en la clase de programación.




No hay comentarios:
Publicar un comentario