Cómo usar el OCR PetaPoco para accesos (insert, select, update, delete) a servidor de MySQL/MariaDB con Visual Studio .Net y C# (CSharp). PetaPoco admite otros motores de base de datos como Oracle, SQL Server, Firebird, SQLite, MS Access, PostgreSQL, etc.). PetaPoco es un mini ORM (Object–role modeling) que nos permitirá realizar tareas de acceso a base de datos de forma muy sencilla y eficiente. Como ejemplo, mostramos un formulario que permite añadir, eliminar, modificar y listar facturas.

Preparar tabla en base de datos MariaDB MySQL

Para el ejemplo de acceso a servidor MySQL MariaDB con PetaPoco, usaremos una tabla con la siguiente estructura (script SQL de creación de tabla):

Dispondremos, por lo tanto, de una tabla llamada «fatura» con los campos: codigo (autoincremento y clave primaria), fecha, cliente, importe, numero y observacion.

Como es lógico, dispondremos de un servidor de MySQL Server o MariaDB Server, con dicha tabla creada. En el siguiente artículo explicamos cómo montar un servidor de base de datos MySQL MariaDB en Linux:

Paquete de acceso nativo al servidor MySQL MariaDB con C#

PetaPoco no incluye el acceso en sí al servidor correspondiente de base de datos. Necesitaremos por lo tanto el paquete correspondiente para acceso nativo al servidor que queramos usar de base de datos, en nuestro caso MySQL Server o MariaDB Server.

En el siguiente enlace explicamos cómo usar el paquete para Visual Studio .Net CSharp de MySQL, disponible en su web oficial:

Instalar PetaPoco en nuestro proyecto Visual Studio .Net CSharp

Crearemos, si no lo hemos hecho aún, un proyecto Visual Studio .Net C# (CSharp):

Instalar Petapoco en nuestro proyecto Visual Studio .Net CSharp

Introduciremos el nombre del proyecto:

Instalar Petapoco en nuestro proyecto Visual Studio .Net CSharp

Elegiremos la versión de .NET 6.0 (la última disponible):

Instalar Petapoco en nuestro proyecto Visual Studio .Net CSharp

Para instalar el paquete PetaPoco, desde nuestro proyecto, pulsaremos en el menú «Herramientas» y en «Administrador de paquetes NuGet » – «Administrar paquetes NuGet para la solución…»:

Instalar Petapoco en nuestro proyecto Visual Studio .Net CSharp

Pulsaremos en «Examniar» [1], escribiremos «petapoco» en buscar [2]. Seleccionaremos «PetaPoco.Compiled» versión 6.0.566 [3]. Marcaremos el proyecto donde se instalará [4] y pulsaremos en «Instalar» [5]:

Instalar Petapoco en nuestro proyecto Visual Studio .Net CSharp

Una vez instalado nos indicará los paquetes instalados:

  • PetaPoco.Compiled.6.0.566.
  • System.Reflection.Emit.ILGeneration.4.7.0.
  • System.Reflection.Emit.Lighwight.4.7.0.

Pulsaremos «Aceptar» y ya tendremos instalado el paquete PetaPoco para nuestra proyecto C# .Net:

Instalar Petapoco en nuestro proyecto Visual Studio .Net CSharp

En las dependencias de paquetes de nuestra solución nos habrá añadido «PetaPoco.Compiled»:

Instalar Petapoco en nuestro proyecto Visual Studio .Net CSharp

Agregar clases para la aplicación de ejemplo de gestión de facturas con MariaDB MySQL y PetaPoco en C#

Agregaremos a nuestro proyecto las clases necesarias y su código para realizar todas las tareas de la aplicación: guardar en fichero de configuración los datos de acceso al servidor, cifrar contraseña, guardar datos de log (para depuración), acceso a la base de datos MariaDB o MySQL con PetaPoco, tabla de facturas, métodos para listar e insertar facturas y clientes, etc..

Para añadir una clase, desde Visual Studio .Net, con nuestro proyecto abierto, pulsaremos con el botón derecho sobre la solución y elegiremos «Agregar» – «Clase…»:

Agregar clases para la aplicación de ejemplo de gestión de facturas con MariaDB MySQL y PetaPoco en C#

Empezaremos por crear las clases con las utilidades necesarias para el resto de clases. Empezaremos por la clase que escribirá en fichero de log cualquier error o dato que queramos almacenar para depuración. Esta clase se llamará Log y tendrá el siguiente código fuente C#:

Crearemos otra clase, llamada Config, que será la que escribirá en fichero de configuración los datos de acceso al servidor de base de datos (IP, usuario, contraseña, etc.), con el siguiente código fuente C Sharp:

Añadiremos otra clase, con el nombre Cifrar, que será la encargada de cifrar la contraseña para guardarla en el fichero de configuración, tendrá el siguiente código fuente C Sharp:

Crearemos la clase de acceso a la base de datos. Esta clase será la que contenga los métodos de conexión con el servidor de base de datos. Lo habitual será obtener los datos de acceso al servidor de base de datos desde un fichero de configuración de la aplicación, usando la clase anterior Config. La clase para acceso al servidor de base de datos se llamará Peta y tendrá el siguiente código C Sharp:

Crearemos la clase para la tabla de facturas de la base de datos, la llamaremos BDFacturas y tendrá el siguiente código fuente C#:

Crearemos una última clase, llamada Pro, que será la que contenga todos los métodos que utilizaremos en la aplicación para insertar facturas, obtener lista de facturas, obtener lista de clientes, etc.. El código fuente C Sharp será:

Crear formulario con componentes para acceso a base de datos y tabla de facturas

Añadiremos en el formulario principal de nuestra aplicación C# los siguientes componentes, para acceso al servidor de base de datos y para insertar, mostrar, eliminar y modificar facturas:

Crear formulario con componentes para acceso a base de datos y tabla de facturas

A continuación mostraremos el código fuente de cada botón del formulario. Empezaremos por el botón «Guardar configuración«, que tendrá siguiente código fuente en su evento Click:

El botón «Probar conexión» tendrá el siguiente código fuente en su evento Click:

El botón «Añadir» tendrá el siguiente código C# en su evento Click:

El botón «Refrescar» tendrá el siguiente código C#:

El botón «Modificar» tendrá el siguiente código:

Y el botón «Eliminar» tendrá el siguiente código:

La aplicación C# de ejemplo para insertar, modificar, listar y eliminar facturas con PetaPoco y CSharp

Ejecutaremos la aplicación de gestión de facturas con PetaPoco y C#. Introduciremos los datos de acceso al servidor de base de datos MySQL/MariaDB: servidor (IP o nombre DNS), puerto (habitualmente el 3306), usuario y contraseña de acceso al servidor, BD (nombre de la base de datos o catálogo). Pulsaremos en «Guardar configuración» y ya la tendremos disponible para el resto de inicios de la aplicación. Pulsando en el botón «Probar conexión» la aplicación comprobará si conecta correctamente con el servidor de base de datos. Si conecta mostrará el mensaje:

La aplicación C# de ejemplo para insertar, modificar, listar y eliminar facturas con PetaPoco y CSharp

Si tenemos facturas dadas de alta, la aplicación las mostrará en el ListView «Lista de facturas»:

La aplicación C# de ejemplo para insertar, modificar, listar y eliminar facturas con PetaPoco y CSharp

A partir de ahora, podremos añadir una nueva factura introduciendo los datos básicos en «Añadir factura» y pulsando en «Añadir»:

La aplicación C# de ejemplo para insertar, modificar, listar y eliminar facturas con PetaPoco y CSharp

La factura se añadirá a la base de datos, la aplicación mostrará un mensaje indicando que se ha añadido una nueva factura y el código (clave primaria) asignado:

La aplicación C# de ejemplo para insertar, modificar, listar y eliminar facturas con PetaPoco y CSharp

Y se mostrará en el ListView «Lista de facturas»:

La aplicación C# de ejemplo para insertar, modificar, listar y eliminar facturas con PetaPoco y CSharp

Desde el ListView «Lista de facturas» podremos modificar una factura ya añadida. Para ello, la seleccionaremos y pulsaremos «Modificar»:

La aplicación C# de ejemplo para insertar, modificar, listar y eliminar facturas con PetaPoco y CSharp

Los datos de la factura se cargarán en el cuadro «Modificar factura». Realizaremos la modificación de los datos que deseemos y pulsaremos en el botón «Modificar»:

La aplicación C# de ejemplo para insertar, modificar, listar y eliminar facturas con PetaPoco y CSharp

La aplicación nos indicará que la factura se ha modificado correctamente:

La aplicación C# de ejemplo para insertar, modificar, listar y eliminar facturas con PetaPoco y CSharp

Y mostrará la factura con los datos actualizados en el ListView «Lista de facturas».

También podremos eliminar una factura, seleccionándola y pulsando en «Eliminar». Nos mostrará una confirmación para eliminar, pulsaremos «Sí»:

La aplicación C# de ejemplo para insertar, modificar, listar y eliminar facturas con PetaPoco y CSharp

Nos indicará que la factura ha sido eliminada correctamente y la quitará del ListView:

La aplicación C# de ejemplo para insertar, modificar, listar y eliminar facturas con PetaPoco y CSharp

Descarga del código fuente completo de la aplicación de ejemplo de gestión de facturas en C Sharp

En el siguiente enlace está disponible, de forma totalmente gratuita, el código fuente completo de la aplicación de ejemplo, desarrollada con Visual Studio .Net Community 2022, en C# y PetaPoco: