- hace 3 semanas
📌 En este primer capítulo conocerás la arquitectura del proyecto que desarrollaremos en la serie de Programación Orientada a Objetos Avanzada con C# . Te mostraré las herramientas que usaremos: Visual Studio 2022, MySQL y XAMPP , cómo se conectan entre sí y la función que cumple cada una.
Además, haremos nuestra primera conexión a la base de datos desde C# , creando un botón que validará si la conexión fue exitosa o si hubo algún error. 🚀
Este video es la base para entender cómo funcionará nuestro proyecto CRUD completo.
Además, haremos nuestra primera conexión a la base de datos desde C# , creando un botón que validará si la conexión fue exitosa o si hubo algún error. 🚀
Este video es la base para entender cómo funcionará nuestro proyecto CRUD completo.
Categoría
📚
AprendizajeTranscripción
00:00Señores, bienvenidos al maravilloso mundo del desarrollo de software.
00:04Continuamos con una serie de videos en la que hemos trabajado en la programación orientada a objetos.
00:09Hoy hablaremos de una aplicación en la cual trataremos de que se conecte a la base de datos.
00:19Toda enfocada en programación orientada a objetos, pero hablaremos desde cero.
00:23El lenguaje de programación que venimos trabajando es C-Sharp, para que lo tengan presente.
00:27El ID con el que estamos trabajando es Visual Studio 2022.
00:31Entonces, el ejercicio busca que nosotros logremos hacer un CRUD completo desde un formulario,
00:40desde una aplicación que vamos a construir desde cero, para que podamos hacer todo el proceso completo.
00:49Insertar, borrar, modificar y leer todo el CRUD completo.
00:53Pero, en este caso, en este primer video, solamente vamos a tratar de conectarnos a la base de datos,
00:59para que estando ya eso resuelto, podamos empezar a resolver el CRUD desde cero.
01:05Entonces, déjenme, yo les pinto un diagrama de más o menos cómo debe ser el proceso,
01:11para que arranquemos a hacer el ejercicio.
01:15Ok, entonces, maximicemos esto para que podamos trabajar más fácil.
01:19Y les explico.
01:22Entonces, lo que vamos a hacer es simplemente crear una aplicación, un formulario sencillito con un botón.
01:30Vale.
01:31Y crearemos una base de datos en un motor de base de datos MySQL.
01:39Entonces, esto va a ser en MySQL.
01:44Sí, ahí es SQL.
01:47Donde el usuario, al darle clic a este botón, él va a ir a buscar la base de datos y responde.
01:54Que si la encuentra, entonces va a responder que está perfecto.
01:58Y si no la encuentra, pues responderá con un error como tal.
02:02Vale.
02:03Entonces, evidentemente esta aplicación, esta aplicación va a estar dentro de nuestro computador personal,
02:12dentro de nuestro computador de desarrollo.
02:15¿Sí?
02:16Va a estar dentro de nuestro computador de desarrollo.
02:18Pero, ¿dónde va a estar alojada la base de datos?
02:21La base de datos tiene que estar alojada dentro de un servidor.
02:25Dentro de un servidor.
02:28Y para ello, pues necesitamos simular que este servidor, que este servidor, esté dentro de este computador.
02:37Para hacer eso, pues utilizaremos una aplicación que es muy fácil de instalar.
02:44Se llama SAM.
02:45Es un manejador o controlador de servicios.
02:48Que lo que va a hacer este sistema es simular que existe en nuestro computador este servidor que les acabé de describir.
03:00¿Vale?
03:00Entonces, voy a borrar un poquito esto para que no nos enredemos.
03:05¿Sí?
03:07Y, ¿qué es lo que va a hacer SAM?
03:10SAM lo que va a hacer es simplemente prender este computador, este servidor.
03:16Lo va a prender.
03:16Entonces, ¿este servidor dónde va a estar?
03:18De nuevo, va a estar en nuestro PC.
03:21Va a estar de manera local.
03:23Va a estar de manera local.
03:25Importante eso.
03:25Va a estar de manera local.
03:27¿Sí?
03:28Entonces, aplicaciones que necesitamos.
03:30Pues ya sabemos, nuestro computador con Visual Studio 2022.
03:35Visual Studio 2022 que va a estar en esta máquina.
03:38Necesitaremos SAM, que es un software muy fácil de instalar.
03:41Y ese SAM simplemente lo que va a hacer es prender o simular un servidor donde van a correr los servicios de SQL, de MySQL.
03:51¿Vale?
03:51En este caso.
03:52Pero nuestra base de datos, ¿cómo se llama?
03:54Nuestra base de datos, le tenemos que dar un nombre a nuestra base de datos.
03:58Y, no sé, se me ocurre que a esta base de datos le pongamos que se va a llamar prueba.
04:04Entonces, importante estos conceptos.
04:09Aplicaciones.
04:11La que tenemos en nuestra máquina Visual Studio 2022.
04:14SAM.
04:15Y una base de datos, MySQL.
04:17Y una base de datos existente.
04:20O sea, MySQL es nuestro motor de base de datos.
04:22Y una base de datos creada que se va a llamar prueba.
04:25¿Listo?
04:26Entonces, señores, con esto ya podemos identificar nuestro desarrollo.
04:32Entonces, pasémonos a Visual Studio para que demos inicio.
04:42Señores, entonces, retomando, vamos a abrir Visual Studio.
04:45Déjenme, yo lo busco por acá para que se vaya abriendo.
04:51Teniendo Visual Studio, vamos a crear un proyecto desde cero.
04:54Proyecto desde cero.
04:56¿Qué tipo de proyecto?
04:58Creemos uno que se llame aplicación de Windows Form.
05:01¿Cierto?
05:02Que sea para C-Shark.
05:03Yo por aquí, pues, como ya he trabajado con él, lo tengo por defecto.
05:06Si no, como ustedes saben, lo pueden buscar por acá.
05:09Entonces, tipo de lenguaje, para qué plataforma y para qué entorno.
05:13Escritorio, móvil, como ustedes gusten.
05:15¿Listo?
05:16Pero en este caso sería para C-Shark y de escritorio.
05:19¿Vale?
05:19Y para todas las plataformas.
05:20Entonces, por defecto lo tengo acá.
05:22Le voy a dar siguiente.
05:23Crear el proyecto.
05:24Le voy a dar un nombre.
05:25Que se va a llamar Prueba Conexión.
05:29Y donde lo guardo.
05:30Pues voy a buscar una carpeta que tengo en mi unidad C.
05:34Y se va a llamar Prueba Conexión.
05:36Ahí voy a crear mi proyecto.
05:37Entonces, mientras mi proyecto se crea.
05:39Vamos a intentar abrir, perdón aquí.
05:44Él me dice que necesita el framework 8.0.
05:48Le digo que perfecto que lo creé y arranco a crear el proyecto.
05:52Mientras esto sucede, me voy a ir a buscar mi MySQL.
05:58¿Para qué lo abramos?
06:00Entonces, vamos a trabajar con MySQL Workbench 8.0.
06:03¿Sí?
06:05Lo voy a abrir.
06:07Acá atrás se está ejecutando.
06:09Pues mi aplicación se está creando.
06:11Voy a minimizarlo.
06:11Y aquí va a abrir MySQL Workbench.
06:16¿Cierto?
06:17Si quieren, cuando ustedes lo instalen, pueden buscar en internet muchas formas de instalarlo.
06:23Es muy fácil.
06:24Se descarga siguiente, siguiente, siguiente.
06:26Es un software gratis.
06:29Entonces, no tiene ninguna complicación a la hora de instalarlo.
06:31Cuando ustedes lo creen, pues cuando creen una conexión.
06:34Yo aquí pues tengo varias conexiones.
06:37Esta conexión es con la que pienso trabajar.
06:39¿Vale?
06:40Y él automáticamente pues me entra.
06:42¿Sí?
06:43Perdón que se me abrió Visual.
06:46Entonces, estamos de nuevo en MySQL.
06:50Como pueden ver, él me genera una advertencia y me dice que no logro conectarse a la base de datos.
06:55Muchos de ustedes lo que hacen es darle siguiente, siguiente, siguiente o cancelar a estas ventanas.
06:59Pues porque no leen qué es lo que está pasando.
07:02Pero con que le salga este letrero rojo aquí abajo, es que él no logró entablar una conexión con la base de datos.
07:09Entonces, voy a cerrar MySQL.
07:11Voy a empezar desde cero.
07:12Este es Visual Studio.
07:13Como ustedes ya saben, ahorita retorno aquí.
07:16Voy a minimizarlo y voy a buscar MySQL.
07:19¿Sí?
07:19MySQL Workbench.
07:20Lo abro.
07:22Entonces, señores, quiero mostrarles algo muy importante.
07:24Cuando ustedes abran MySQL, pues tienen la opción aquí de crear una nueva.
07:29nueva conexión.
07:30Lo voy a hacer desde cero para que ustedes lo entiendan.
07:33La conexión, o no la conexión, la instancia con la que vamos a trabajar, démosle que se llama prueba.
07:41¿Sí?
07:41No, prueba, no, instancia prueba, pues para que no nos enredemos.
07:45Instancia prueba.
07:46Vale, miren que él por defecto me trae un usuario administrador de la base de datos y me dice que si quiero crearla con password o no.
07:58Importante que tengan presente eso.
07:59Si ustedes la crean con base de datos o no, tengan presente también aquí el puerto con el que se conecta.
08:05Él se está conectando con el puerto 3306, perdón.
08:09Es el puerto por defecto de MySQL.
08:11Entonces, para este caso la voy a dejar así.
08:13Solamente le doy el nombre.
08:15Pero muy importante que ustedes entiendan si ustedes le asignaron a esto una clave y si por X o Y razón cambiaron el puerto.
08:24Entonces, le voy a dar OK.
08:25Él me crea la instancia.
08:27Vale, está creada la instancia.
08:28Voy a entrar a la instancia y yo quiero que ustedes observen que se me va a generar los mensajes de advertencia y de error y esto queda en rojo por acá.
08:40Si nos devolvemos al gráfico que estábamos viendo previo, nosotros hablábamos de que necesitábamos un software adicional.
08:47Voy a cerrar MySQL.
08:49Un software adicional que se llamaba SAM.
08:52Es un software también gratuito.
08:54Lo pueden buscar en internet y es muy fácil de instalar.
08:57Siguiente, siguiente, siguiente e instala.
08:59Este es el panel de control de SAM.
09:03Por ahora vamos a trabajar solamente con MySQL.
09:06Verón, aquí está.
09:06Es la segunda opción.
09:08Y cuando en videos futuros que trabajaremos en desarrollo web, trabajaremos con otro servidor que se llama Apache.
09:14Pero lo veremos más adelante.
09:15Entonces, ¿qué era lo que hacía SAM?
09:17SAM sube los servicios de MySQL.
09:21¿Y cómo lo sube?
09:22Pues le podemos dar clic a Start.
09:24Y él lo que hace es subir el servicio.
09:26Esto queda en verde y me dice lo mismo que teníamos previamente.
09:31Nos dice que se iniciaron los servicios por el puerto 3306.
09:35O sea, es decir, él va a estar escuchando por el puerto 3306.
09:39Si esto está apagado, les va a generar el letrerito rojo allá.
09:43Un error también muy frecuente de ustedes cuando están trabajando o iniciando en el mundo del desarrollo de software y la conexión a la base de datos,
09:50es que ustedes suben este servicio y el servicio sube y automáticamente se baja.
09:57Y ustedes no leen qué es lo que está pasando aquí.
10:00Él les describe qué es lo que está pasando.
10:03¿Y él por qué se baja?
10:04Porque es que el servicio ya está arriba.
10:07Alguien más, diferente a SAM, subió los servicios de MySQL.
10:11Entonces, si eso pasa, los invito a que lean lo que les describe aquí, donde les describe que el servicio ya está arriba.
10:20¿Para qué va a subir un servicio que ya está arriba?
10:22¿Sí?
10:23Y cuando ustedes abran MySQL, no les va a generar el letrerito rojo, el error rojo.
10:28¿Sí?
10:28Entonces, recomendación.
10:31Si eso les pasa, validen en su máquina, miren bien en su computador qué servicio sube.
10:40MySQL sube los servicios de SQL o qué aplicación sube los servicios de SQL cuando usted prenda el computador.
10:47Eso les está consumiendo recursos.
10:49Eso quiere decir que les está consumiendo memoria, CPU, porque es un servicio que no es necesario.
10:55¿O será que esa aplicación sí lo requiere tiempo completo?
10:59Pues para que lo validen allá.
11:01Por lo general, en un entorno de trabajo normal, de universitario, esos servicios no están arriba.
11:07Pero cuando vamos a trabajar el desarrollo, pues evidentemente los tenemos que subir.
11:11Entonces, primer paso.
11:12Abrimos SAM, subimos los servicios.
11:15Prendemos el servidor como hablábamos ahorita.
11:17Prendemos el servidor de MySQL.
11:19Ahí sí nos vamos a MySQL.
11:21MySQL Workbench 8.0 con el que vamos a trabajar.
11:25Abrir, teníamos una instancia que habíamos creado previa con un usuario administrador que se llamaba root y no tiene contraseña.
11:33Y también va a correr por el puerto 3306.
11:36SAM lo detecta automáticamente.
11:38Ese puerto es por defecto.
11:40Y yo lo inicializo y él automáticamente inicializa.
11:46Y mire que el letrerito rojo que nos salía por acá no se presenta.
11:51¿Sí?
11:51No se genera.
11:52Entonces, al no generarse ese error, estamos listos para trabajar.
11:56¿Sí?
11:56Entonces, un punto a considerar en el ámbito universitario.
12:00Me devuelvo a SAM.
12:02Miren el puerto 3306.
12:05Cuando ustedes están en su casa, por defecto, el puerto con el que se escucha MySQL es el 3306.
12:11¿Sí?
12:12Cuando ustedes van a la universidad, tengan presente que los computadores y máquinas con las que ustedes allí practican, las usan todos los estudiantes.
12:22Si a alguien se le dio por cambiar el puerto, entonces fácilmente el puerto ya no va a ser el 3306, sino el 3308.
12:28No sé.
12:29Estoy inventando.
12:29Porque me pasa normalmente que a los alumnos, en algunos, el puerto no les funciona.
12:37Y cuando vamos a mirar es que, claro, clases previas, o sea, estudiantes que llegaron antes, pues no sé, invento.
12:45Los de redes fueron, recibieron su clase y por X o Y razón cambiaron el puerto y pusieron a MySQL, al motor de SQL, a que escuchara por otro puerto totalmente diferente.
12:56Pero por defecto, puerto 3306.
12:58Si ustedes ven que es otro puerto, no hay ningún problema, lo cambian.
13:03Ahorita vamos a ver eso.
13:04¿Listo?
13:05Entonces, en ese orden de ideas, según el gráfico que estábamos viendo, ya tenemos SAM, prendió el servidor y en este computador hay un servidor trabajando de manera local.
13:18¿Sí?
13:19De manera local.
13:20Entonces, me voy a Visual Studio.
13:22Ya esta interfaz para ustedes es normal.
13:25Ya hemos hecho varias aplicaciones en este proceso, en este ID.
13:32Y ahorita, como lo veíamos, lo que vamos a hacer es coger un botón, lo vamos a arrastrar a nuestro formulario y lo ponemos.
13:39Recomendación.
13:40O por lo menos así trabajo yo.
13:43Ya cada quien empieza a definir su estilo de desarrollo de software, pero a mí siempre me gusta que cuando se crea un objeto en el lienzo, tengan presente que este formulario que nos sale aquí, esto es un lienzo, así lo llamamos.
13:55En este lienzo se le debe asignar un nombre.
13:58Entonces, a este le vamos a poner, y ya ustedes usan la mnemotecnia que quieran, ¿sí?
14:04Camel Case, Pascal o la que ustedes quieran.
14:07Entonces, a este le voy a poner BTN, haciendo las siglas de botón, prueba, conexión.
14:15Ese es el nombre del botón, ¿sí?
14:17Ese es el nombre del botón.
14:18Voy a subirlo por aquí por si pronto no lo ven, prueba, conexión, ¿sí?
14:23Aquí está.
14:25Denme un segundo, conecto la máquina.
14:27Ese me está agotando la energía.
14:30Entonces, ya regresamos.
14:33Bueno chicos, retomando, ya conecté mi máquina.
14:35Entonces, de nuevo, creé un botón y le puse un nombre, ¿sí?
14:39Que lo tengan presente.
14:41Y le vamos a poner un texto.
14:43Aquí en la parte superior, en las propiedades, le vamos a poner un texto.
14:46¿Qué texto? Pues no sé.
14:48Conexión.
14:49Para que lo tengamos presente.
14:52Vale.
14:52Entonces, ya mi aplicación está funcionando.
14:55Voy a ejecutarla.
14:58Está el proceso de compilación.
15:00Inicio el proceso de compilación para que lo tengan ahí en el radar.
15:04Ya se las muestro.
15:07Como lo pueden ver en pantalla, ya se está ejecutando.
15:11Verán aquí.
15:12Este es nuestra aplicación.
15:14Entonces, si yo le doy clic a este botón, ¿qué pasa?
15:16Aquí lo voy a hacer.
15:18Clic, clic, clic, clic, clic, clic.
15:20¿Qué está pasando?
15:20No pasa absolutamente nada.
15:23¿Por qué?
15:24Pero es que la base de datos está creada.
15:26Pero es que la conexión a la base de datos está creada.
15:28¿Por qué no funciona?
15:29Señores, evidentemente.
15:30Otro error típico de ustedes.
15:32Porque ese botón no tiene lógica.
15:34Entonces, paro la ejecución y agreguémosle lógica a ese botón.
15:41Lógica a ese botón para que funcione.
15:42Antes de agregarle lógica, tengamos presente nuestro entorno de trabajo.
15:48Entonces, estamos trabajando Visual Studio 2022.
15:50Ese es nuestro ID.
15:51Nuestro lenguaje de programación.
15:53C-Shar.
15:54Nuestro motor de base de datos.
15:57MySQL.
15:58¿Sí?
15:59MySQL.
16:00Y la base de datos.
16:02¿Qué base de datos dijimos que íbamos a crear?
16:05Íbamos a crear.
16:06No la hemos creado todavía.
16:07Esa base de datos no la hemos creado todavía.
16:10Y nuestra aplicación, la que estamos viendo en pantalla,
16:15en este momento necesita unas librerías adicionales
16:19para poderse conectar con MySQL.
16:22Entonces, vamos a importar esas librerías, esos paquetes,
16:26toda esa información.
16:26¿Cómo lo hacemos?
16:27Nos vamos a la solución.
16:29Aquí en la parte, en el explorador de soluciones,
16:31le damos clic derecho.
16:33Por aquí está el administrar los paquetes Nugget para nuestra solución.
16:37Le damos que vamos a gestionar estos paquetes Nugget.
16:40Y nos abre esta pestaña.
16:42Mírenla acá.
16:43Acá está nuestro formulario.
16:44Acá está nuestra pestaña de importar Nuggets.
16:47Nos vamos a examinar.
16:50Y aquí en examinar, ¿cuál es el motor de base de datos
16:53que vamos a trabajar?
16:55MySQL.
16:55¿Vale?
16:56Entonces, lo buscamos aquí.
16:59Él va, busca MySQL, MySQL.
17:07Está buscando los paquetes.
17:08Deme un segundo.
17:10Entonces, está buscando el paquete MySQL, ¿cierto?
17:13MySQL.
17:13MySQL.
17:14Aquí está.
17:14Aquí está.
17:15Acá es este con el logo y los colores.
17:18Lo seleccionamos.
17:19Entonces, lo seleccionamos.
17:20Se nos abre esta ventanita.
17:22Seleccionamos el proyector o la solución completa.
17:25Y le decimos Instalar.
17:27Lo que estamos haciendo acá.
17:28Él está descargando todas las librerías, todos los paquetes.
17:31Aquí nos saca dos mensajitos.
17:32Aquí nos dice que si queremos descargar todo, le decimos que aplicar, que aceptemos la licencia,
17:39le damos Aceptar y él arranca el proceso de instalación.
17:41Tan pronto instala, automáticamente me pone este check aquí en verde.
17:47Otro error frecuente de ustedes, no prestan atención a este check y asumen que ya está instalado.
17:53No.
17:53Ojo, pues, tiene que tener presente si este check está.
17:56Vale.
17:56Voy a cerrar porque ya importé mis nuggets.
18:01Importé toda la documentación y toda la librería de MySQL en ese orden de ideas.
18:04Ya le puedo poner lógica a este botón.
18:06¿Sí?
18:07Entonces, ¿cuál es la lógica?
18:09Le voy a dar doble clic al botón porque cuando le den doble clic, él debe ir a conectarse a la base de datos.
18:14Entonces, démosle doble clic para que se nos abra el listener, el escuchador de lo que pasa con ese botón.
18:20¿Sí?
18:20Entonces, se nos abrió el listener.
18:22Ahorita empezamos a editarlo.
18:24Pero importante, como ya importé todos los paquetes y librerías a la solución,
18:31importante que hagamos, usemos, usemos la librería asociada a MySQL.
18:42Entonces, digitamos using mysql.data.mysqlclcliente y finalizamos con el punto y coma.
18:52Vale.
18:52Aquí me quedó un espacio.
18:54Mil disculpas que no estoy en una coma, sino que es un punto.
18:56Por aquí, por error, lo digité.
18:59Y ahí está la librería.
19:00Vale.
19:01Está toda la documentación y la información de MySQL.
19:05Teniendo esto presente, aquí estaba nuestro escuchador de nuestro botón.
19:08Cuando le den clic al botón prueba conexión, algo va a pasar.
19:15¿Y qué es algo?
19:16Él se va a ir a la base de datos a ejecutar, a intentar conectarse a la base de datos y respondernos exitosamente o fallidamente.
19:26¿Sí?
19:26Entonces, agreguemos esa.
19:28Pero, para agregar la lógica, tenemos que tener presente si en nuestra instancia tiene la base de datos que nosotros queremos.
19:40En el grafiquito, si recuerdan, cuando les pinté, íbamos a hablar de que debía existir una base de datos que se llamaba prueba.
19:46Aquí la estamos viendo.
19:47Existe una base de datos que se llama prueba, como vemos una, de nuevo.
19:52Digamos que una base de datos nueva que se va a llamar prueba 2, para que lo tengan presente.
19:57La base de datos se va a llamar prueba conexión.
20:01Prueba conexión.
20:04Prueba conexión.
20:05¿Sí?
20:06Y le damos aplicar.
20:09Aplicar.
20:10Finish.
20:11Nuestra base de datos ya quedó creada.
20:13Si vamos aquí, aquí está prueba conexión.
20:16Ah, bueno, importante.
20:17Otro error típico de ustedes cuando están desarrollando.
20:20Tengan presente que estamos en la pestañita aquí que dice esquemas.
20:24Cuando ustedes abren MySQL, por defecto, los lleva aquí a la de administración y ustedes crean la base de datos y no se dan cuenta, actualizan y no se dan cuenta qué pasa porque no está en el visor adecuado.
20:35Se van aquí a esquemas y ahí están viendo las bases de datos.
20:38El botoncito actualizar, el botoncito de crear un nuevo esquema.
20:43Si tienen dudas con esto, los invito a una lista de reproducción que tengo donde les explico cómo crear bases de datos aquí y hablamos de bases de datos SQL, modelo de entidad, relación y todo lo referente.
20:56¿Vale?
20:56Entonces, ya tenemos una base de datos.
20:58¿Sí?
20:58Entonces, retomando.
21:01Tenemos en nuestra aplicación.
21:03Sí, aquí está con un botón.
21:05El botón debe conectarse a la base de datos.
21:08Eso está pendiente por crear.
21:10Y tenemos el servidor prendido.
21:12Sam subió los servicios de SQL.
21:15Y tenemos una base de datos existente que la base de datos se llama prueba conexión.
21:19Y miren que Sam está corriendo perfecto.
21:22Digamos que tenemos nuestro modelo para trabajar, nuestra infraestructura para trabajar.
21:28Ustedes dirán, pero es que la base de datos existe, pero no tiene tablas.
21:31Sí, más adelante crearemos tablas, pero en este momento lo que necesitamos es que él se conecte a la base de datos.
21:37De nuevo, están viendo en pantalla que él está tratando de la inteligencia artificial asociada a Visual Studio.
21:44Está tratando de ayudarme a crear todo el contenido.
21:48Entonces, le voy a dar a aceptar.
21:50¿Sí?
21:50Y ya les explico todo el proceso para que ustedes lo entiendan.
21:54¿Sí?
21:54Entonces, primero, cuando le den clic al botón prueba conexión, ¿qué va a pasar?
22:01Todo lo que está aquí adentro.
22:04¿Sí?
22:05Entonces, lo primero, voy a crear una variable de tipo string.
22:13En muchos videos en internet van a encontrar que crean muchas variables.
22:18Yo lo hago con una sola, pues, por practicidad.
22:21Pero en otros videos van a ver que hay muchas variables.
22:24Pero ahorita les explico cómo lo hacen.
22:26Una variable que se llama cadena de conexión.
22:28Y en esa variable le asignó todo este contenido.
22:34Todo este contenido.
22:35Toda esta cadena de información.
22:37¿Qué tiene esa cadena de información?
22:38Me dice server.
22:40O sea, ¿a qué servidor me voy a conectar?
22:43¿Sí?
22:43Y habíamos definido que Sam está simulando, este señor está simulando un servidor local.
22:54Entonces, es por ello que ponemos local.
22:58Importante la sintaxis aquí.
23:00Tengan presente que algunos lenguajes de programación son susceptibles a mayúsculas y minúsculas.
23:05Entonces, server con mayúscula y local post lo escriben y tal cual.
23:10Punto y coma.
23:11¿Sí?
23:12Nos dice con qué usuario se va a conectar.
23:15Insert con mayúsculas.
23:16¿Vale?
23:17¿Con qué usuario?
23:18Si recuerdan, el usuario era RUM.
23:20¿Vale?
23:21RUM.
23:23Punto y coma.
23:24Password.
23:25¿Sí?
23:27Igual.
23:27Porque aquí no hay nada.
23:29Si recuerda, también fue la instancia.
23:32Yo dije que mi base de datos no iba a tener contraseño.
23:36Entonces, usted puede ser que se encuentre en un video de internet o en otro lado y posiblemente en videos míos, que hablaré con diapositivas y demás, que esto tenga una contraseña llamada DIN.
23:50¿Sí?
23:51Entonces, mire la que no sería.
23:52Usted, en su máquina, en su entorno de trabajo, creó su base de datos y la creó con contraseña.
24:01Ahí está.
24:02Para este ejercicio, base en contraseña, pero no se les puede olvidar el punto y coma.
24:08El punto y coma es el separador de cada uno de los parámetros.
24:12Puerto 3306, que es el que me dice aquí San 3306.
24:17Y era el mismo que me decía la instancia, que nos vamos a conectar con ese puerto.
24:24Database.
24:25Y mire, otro error.
24:26Ustedes arrancan con todas las iniciales en mayúscula y cuando llegan a Database, la ponen como mayúscula y también les genera error.
24:34Entonces, ahorita vamos a simular un par de errores.
24:36Database.
24:37¿Cuál es la Database?
24:38¿Cuál es nuestra base de datos?
24:40Yo les había dicho a ustedes en el grafiquito que la llamáramos prueba, pero acabamos de decir que se llamaba prueba conexión.
24:47Entonces, ponemos el nombre.
24:49Prueba conexión.
24:51¿Sí?
24:52Entonces, tenemos una variable que tiene un montón de datos.
24:58El servidor, el usuario, el password, el puerto y el nombre de la base de datos.
25:06Si ustedes toman esta aplicación y la trabajan en su casa, y en su casa el puerto es 3306 y el password es admin o cualquier otro password,
25:16y se van para su entorno académico, se van para la universidad, y allá el puerto, como lo dijimos ahorita, lo cambiaron, pues vienen y lo cambian aquí.
25:24Por eso se llama variable.
25:26Que en su entorno académico en la universidad no tiene password, pues van y la cambian.
25:32¿Sí?
25:32En un entorno ya empresarial, nuestro software va a trabajar y lo vamos a desplegar.
25:36Entonces, no vamos a trabajar con un servidor local.
25:39El servidor puede estar en cualquier parte, ¿sí?
25:41Puede estar en la nube, puede estar en un rack, puede estar en otro edificio.
25:46Y lo que tendremos que poner aquí es la dirección IP con la que nos vamos a conectar a ese servidor.
25:51Entonces, esta cadena de conexión es muy importante porque con esto el sistema sabe a qué servidor se va a conectar,
25:58con qué usuario, con qué password, con qué puerto y a qué base de datos.
26:02Poniendo eso como claro, como premisa, hablemos de esta línea.
26:07Pasan esta línea.
26:08Entonces, como ya habíamos importado, por aquí arriba ustedes están viendo que habíamos importado,
26:13o estábamos usando documentación o librerías o paquetes o clases,
26:17toda la documentación de MySQL.
26:20Entonces, lo que yo estoy haciendo es que estoy cogiendo una clase,
26:24mire que está resaltadita en verde, una clase que se llama MySQL Connection, ¿cierto?
26:29Esa clase ya existe y yo lo que voy a hacer es instanciar un objeto.
26:36Otro error típico de ustedes es que se van a internet y empiezan a ver videos
26:40y no entienden cuando arrancan a leer esto.
26:43Entonces, MySQL, MySQL Connection, MySQL Connection,
26:46igual a new MySQL Connection.
26:51Recuerden, estamos instanciando un objeto.
26:54Programación orientada a objeto.
26:56Estoy usando una clase o un molde que ya existe y estoy creando mi objeto.
27:02Este objeto, mire que inicia con minúscula, estos inician con mayúscula,
27:07diferente en hemotecnia, y yo le puedo dar el nombre que yo quiera.
27:11Aquí, en esto, yo le puedo dar el nombre que yo quiera.
27:15Conexión, mi primera conexión, le puedo dar el nombre que yo quiera,
27:19porque así se va a llamar mi objeto.
27:20El hecho es que tan pronto lo nombre así, y ahí hacia abajo todas las llamadas a ese objeto
27:26tienen que ser por ese nombre.
27:28Entonces, le di este nombre por defecto, porque el sistema asume que yo soy un desarrollador experto
27:34y por eso me recomendó todo.
27:36Entonces, yo le doy siguiente y así se van a encontrar ustedes el código
27:39en el entorno académico y empresarial.
27:43¿Vale?
27:44¿Y esta cadena de conexión qué es?
27:46Estamos mandando un parámetro.
27:47Es esta misma que tenemos en la parte superior, cadena de conexión.
27:51¿Sí?
27:52Entonces, estoy instanteando un objeto y le estoy mandando a ese parámetro.
27:56Ahora, viene el try-clash.
27:58¿Qué es un try-clash?
28:00Es una estructura muy importante en el desarrollo del software que nos permite controlar las excepciones.
28:05Si recuerdan el gráfico donde yo les pinté, yo les decía,
28:07él va a ir a conectarse la base de datos.
28:09Lo encuentra y le dice, ok, y falla, él nos va a generar un mensaje de error.
28:14Eso es controlar el error, controlar esa excepción.
28:18Se va a generar una excepción y yo la tengo que controlar.
28:21¿Cómo la controlo?
28:21Con esta estructura se llama try-clash.
28:23¿Listo?
28:24Entonces, try.
28:26Digámoslo, los puristas me van a criticar mucho por esto,
28:30pero para que ustedes lo entiendan, es, todo está bien, try.
28:35Y hace esto.
28:36Hay algún error, crash, ¿cierto?
28:39Y guarda el error en este parámetro EX.
28:44¿Sí?
28:44Entonces, si todo está bien, abra la conexión a la base de datos y se sale de aquí,
28:52cierra la conexión a la base de datos e imprime en pantalla conexión exitosa a la base de datos.
28:58Si todo está perfecto.
28:59Si hay algún error, entonces se va por el cache, apura la excepción, la guarda en este parámetro EX y me imprime.
29:08Ya ustedes empiezan a trabajar con él, ya empiezan a gestionarlo.
29:11Yo lo que voy a hacer es un pop-up, una ventanita emergente que me diga error al conectarse a la base de datos
29:21y que me mande la información que capturó ese parámetro EX.
29:26Entonces, por eso EX.message.
29:28¿Listo?
29:29Y que me retorne.
29:30Con eso quiere decir que se sale y fin de la aplicación.
29:33Él me va a mostrar en pantalla qué es lo que está pasando.
29:36¿Cierto?
29:36Entonces, en esta ejecución el programa va a funcionar.
29:40Ejecutémoslo para que se compile y nos haga la conexión a la base de datos.
29:47Debo ir unos segundos que compile.
29:49Aquí está nuestra aplicación y en teoría le vamos a dar OK conexión y él va a ir a la base de datos
29:56y nos dice que hay un error al conectarse en la base de datos y que el error no fue especificado correctamente.
30:02Entonces, y aquí nos dice que el host tiene un problema.
30:05Entonces, vamos a validar cuál es el error que tiene la ejecución.
30:11Bueno, entonces busquemos cuál es el error.
30:14Nos dice que hay un error en el servidor.
30:17Entonces, está bien escrito localhost, el usuario es root, el password es OK, el password no tiene,
30:24el puerto es 3300 y la base de datos se llama prueba conexión.
30:28Si nos vamos al motor de base de datos, evidentemente la base de datos existe.
30:34O sea, que en teoría está bien.
30:37Ah, vean aquí.
30:38De tanto mostrarles a ustedes lo que hice fue apagar el servidor.
30:42Mire que el servidor está apagado.
30:44Prendámoslo.
30:45Me tiene que traer el botoncito verde y ahí está.
30:54El botoncito verde sube y si me voy de nuevo a Visual, ejecuto la aplicación.
31:01Aquí está mi ventanita.
31:02Le doy conexión y me saca el pop-up de conexión exitosa.
31:06Entonces, si yo no hubiese puesto ese try cache, ese error, si hubiese ejecutado y no me pasaba nada.
31:15O sea, el sistema no pasa nada.
31:17Yo le doy clic y él va a base de datos y no me devuelve nada, no me devuelve nada, no me devuelve nada.
31:22Caso contrario, si todo está perfecto, él va a la base de datos y me va a imprimir conexión exitosa.
31:27O si yo no mando este parámetro acá, él me va a decir error en la conexión en la base de datos, pero no sé el por qué.
31:34Es por eso lo importante de esto.
31:37Hagamos un ejercicio.
31:38Cambiemos, por ejemplo, pongámosle password.
31:40Digamos que esa base de datos tiene un password que se llama admin.
31:45Sí, admin.
31:48Vale, y ejecutamos la aplicación.
31:49Ejecutamos la aplicación, perdón, ahí, y le doy conexión.
31:56Y me dice, error al conectarse a la base de datos, problemas de autenticación, localhost, usuario root, en el método password, está fallando.
32:05Acceso denegado.
32:06Acceso denegado.
32:08¿Por qué es el acceso denegado?
32:10Pues tendré que ir a mirar cuáles son los parámetros.
32:13Nosotros ya sabemos que insertamos una contraseña a DRED y sabemos que el sistema no tiene contraseña.
32:20Borro con la contraseña.
32:23Lo mismo pasa si lo pongo que el puerto es el 3308.
32:28Va a pasar lo mismo.
32:29¿Sí?
32:30Entonces, voy a ejecutar mi aplicación y me dice que hay un error no especificado con el localhost.
32:39Y tengo que venir a entrarlo.
32:40Claro, y todo obedece a que el puerto no es el indicado.
32:44Entonces, importante, señores, que ustedes arranquen a gestionar todas esas excepciones.
32:50Y las excepciones no solo son para los usuarios.
32:54Su aplicación debe controlar todas las excepciones que se generan para que al usuario no se le materialice en eso.
33:00Pero también les ayuda a ustedes a identificar claramente qué es lo que está pasando.
33:05Entonces, señores, con esto lo que busco es que ustedes vayan entendiendo el proceso de conectarse a la base de datos.
33:14Luego, iremos creciendo nuestra aplicación para que con ella podamos hacer el club completo.
33:21Entonces, el primer paso está resuelto.
33:23Y entendimos muchos conceptos.
33:25¿Qué conceptos entendimos?
33:26Que necesitamos un motor de base de datos, MySQL.
33:30Necesitamos una aplicación, la que creamos con un botón sencillo.
33:34Y ahí vamos a crear un formulario y vamos a ir creciendo.
33:36Y para que MySQL funcione necesitemos un servidor.
33:41Y ¿quién va a simular el servidor?
33:42SAM.
33:43SAM prende los servicios.
33:46SAM prende los servicios con este señorito aquí.
33:48Y el servidor se prende, se suben los servicios SQL y ya se puede escuchar.
33:53Luego, ¿qué necesitamos en nuestro código?
33:56Necesitaremos la conexión a la base de datos, el stream de conexión, donde están todos estos parámetros.
34:04Lo que les decía ahorita era que fácilmente ustedes encontrarán de que existen personitas que agregan una variable solamente para el servidor.
34:13Otra para el usuario, otra para el password, otra para el puerto, otra para la base de datos.
34:20Entonces, ya es cada quien como quiera desarrollar.
34:23Entonces, señores, con esto hemos finalizado el video.
34:26Los invito a seguir viendo los videos donde creceremos esta aplicación.
34:29Y con ello puedan ustedes entender todo el proceso de programación orientada a objetos.
34:38Ese código quedó muy feo.
34:40Lo organizaremos para que quede como modelo, como programación orientada a objetos como tal.
34:47Listo.
34:47Entonces, no siendo más, señores, los espero en próximos videos.
34:50¡Gracias!
Recomendada
23:17
|
Próximamente
16:35
10:48
8:52
14:13
9:08
3:54
38:18
4:20
2:24
20:45
29:14
0:46
2:11