‫Bienvenido de nuevo.
‫En este video, vamos a agregar el resto de nuestra interfaz de usuario y vamos a agregar una
‫funcionalidad por ahora, que va a eliminar ZUS.
‫Así que sigamos adelante y hagamos eso.
‫Como puede ver, así es como debería verse más o menos la interfaz.
‫Y lo vamos a construir casi de la misma manera.
‫Podríamos construirlo de la misma manera escribiendo la misma información aquí en la parte inferior.
‫Pero se trata más de arrastrarlo y soltarlo para que podamos ejecutarlo en el código Haskell que necesitamos o, en general, en el código
‫de la base de datos que necesitamos en C Sharp.
‫Primero que nada, abramos la caja de herramientas para que podamos ver las cosas que necesitamos y vamos
‫a necesitar botones.
‫Y voy a arrastrar un botón aquí mismo con un poco de distancia.
‫Y este botón debería decir algo como eliminar contenido, luego copiaré ese botón copiar pegar, lo
‫arrastraré junto a él.
‫Y este fue eliminar animal porque no lo estamos eliminando, solo lo estamos eliminando.
‫Y Nimo y este no se borran contemplativamente lo hacen, por cierto.
‫Así que también hemos eliminado y hemos eliminado animal ahora copiar y pegar.
‫Voy a ponerlo aquí mismo, copiar y pegar de nuevo.
‫En realidad, eso es solo crear los botones antes de cambiarles el nombre y aquí.
‫Y luego otro en la parte inferior aquí y el último en la parte superior derecha allá.
‫Entonces, tal vez deberíamos arrastrar todo un poco más hacia abajo de esa manera para que haya suficiente espacio para el botón de
‫eliminar.
‫Y este puede ir así.
‫Muy bien, ahora lo que podríamos hacer también es arrastrar esos dos un poco hacia abajo para que las listas
‫lleguen a la misma altura que la del lado derecho.
‫Bueno, está bien, no se trata de perfecto, aquí hay una interfaz de usuario perfecta, se trata de otros temas, como
‫sabes.
‫Bien, quinientos es demasiado para 50.
‫Debería estar bien.
‫Y ahora año veamos seiscientos.
‫Eso sigue siendo demasiado.
‫O seis.
‫Veinticinco.
‫Seiscientos debería ser un poco mejor.
‫Quizás cinco ochenta o algo así.
‫Bien, ahora todos los botones están adentro.
‫Hay una ventana principal que se ve bien.
‫Incluso podríamos cambiar el nombre de nuestro título.
‫Hagámoslo un administrador de zoológico.
‫Está bien.
‫Tenemos esta lista, el zoológico líder.
‫Ahora podemos cambiar todos los contenidos de esos botones.
‫Así que ese estaba en el zoológico.
‫Ese es el zoológico de actualización.
‫En realidad, ese no estaba allí para que hubiera un animal porque no están en el orden de arriba a
‫abajo.
‫Solo necesitan hacer clic aquí y allá.
‫Puede ver que selecciono el correcto para mí de inmediato.
‫Así que este debería ser el zoológico de actualización.
‫Ese botón aquí es actualizar animal.
‫Ese es el animal
‫principal y ese de aquí va a ser de animal a zoológico, de animal a zoológico, y ahora creo que hemos terminado y en realidad hacen esta actualización
‫del zoológico, esa debe cambiarse.
‫Actualice más.
‫Está bien.
‫Así que ahora todos nuestros botones están bien.
‫Solo necesitamos un cuadro de texto aquí en el medio.
‫Y lo voy a reposicionar un poco así.
‫Hazlo más ancho y sí, así debería estar bien, incluso podríamos cambiar el tamaño de fuente del cuadro de texto
‫para que sea un poco más grande, pero eso debería estar bien.
‫Como dije, no sobre el periodismo perfecto aquí o el perfeccionismo en esta interfaz de usuario.
‫Bien, ahora que tenemos eso, podemos continuar y agregar el botón de eliminar.
‫Entonces voy a hacer doble clic en el botón.
‫Y obtengo este evento de clic de botón, y en realidad no me gusta este nombre, así que tal vez este no sea el mejor.
‫Regresemos y cambiemos.
‫Así que tenemos este botón y recibió este evento llamado Clic de botón y lo
‫llamaré Eliminar Zoo y tal vez incluso algo como Clic de subrayado.
‫Este será el nuevo controlador de eventos que voy a crear.
‫Voy a copiar ese nombre y voy a implementar el método yo mismo.
‫Es un vacío privado.
‫¿Hizo clic?
‫Y como usted sabe, necesita un objeto, que es el remitente y necesita un evento enrutado args y
‫aquí también.
‫Ahora aquí podemos simplemente verificar primero si el botón funciona en el cuadro de mensaje o mostrar que se hizo clic en el cliente potencial
‫o algo así, se hizo clic en el cliente potencial.
‫Ahora ejecutémoslo solo para ver si el botón funciona correctamente.
‫Bien, eso es lo que somos.
‫Entonces esta es nuestra interfaz.
‫Todo parece estar bien ya.
‫Ahora eliminemos el zoológico.
‫Eliminar el zoológico fue perfecto.
‫Entonces el botón funciona.
‫Ahora podemos seguir adelante e implementarlo correctamente aquí.
‫Lo que voy a hacer es crear una nueva consulta porque quería estar bien, quiero que borre algo.
‫Entonces, ¿voy a usar la palabra clave para eliminar de qué tabla?
‫De la mesa del zoológico donde la idea es igual.
‫Y ahora vamos a usar algo llamado ID de zoológico en ID de zoológico, y esa será nuestra propia variable que
‫necesitamos crear.
‫Así que necesitamos crear un nuevo tipo de parámetro, como hemos visto con los parámetros de Escorial aquí.
‫Por lo tanto, los parámetros de comando están torcidos con valor.
‫Y les mostraré la otra forma de manejar estas cosas de la escuela.
‫Entonces sin usar este adaptador.
‫Derecha.
‫Así que usaremos lo siguiente, ya que será un nuevo comando de Ezekial.
‫Y aquí, el comando de rescate necesita información.
‫Entonces, en primer lugar, debe realizar una consulta y debe solicitarle conexión.
‫Así que no hay nada nuevo aquí.
‫Ya lo hemos visto aquí arriba.
‫Haga su consulta de comando y pregunte su conexión.
‫Y ahora podemos continuar e iniciar esta conexión, pida que se abra su conexión.
‫Así que estamos abriendo una conexión para invitarte a salir y ahora estamos agregando el parámetro a este comando.
‫Entonces, los parámetros comienzan con un anuncio con valor.
‫Y aquí utilizo esto en Zooid que tenía aquí en la parte superior.
‫Entonces tiene que ser exactamente lo mismo que tenemos aquí.
‫Y luego simplemente digo lo que quiero eliminar y voy a decir list zus dot selected value.
‫Pero el valor seleccionado no es el nombre del animal porque en realidad es el ID y ahora podemos ejecutar ese
‫código.
‫Por lo tanto, los comandos oscuros que ejecutan Skoller ejecutan la consulta y devuelven la primera columna de la primera fila y el
‫conjunto de resultados devuelto por la consulta.
‫Se ignoran las columnas adicionales de roles.
‫Entonces, para lo que necesitamos esto es, bueno, es prácticamente la forma más sencilla de ejecutar este comando Eskil,
‫que ejecutará la consulta en nuestra conexión Ezekial.
‫Y eso no va a tener gastos generales.
‫Va a ser una ejecución súper simple.
‫Está bien.
‫Y ahora, por supuesto, también debemos cerrar la conexión.
‫Así que pide una conexión tan cercana, porque como puedes ver, necesitamos abrir la conexión.
‫Necesitamos agregar los parámetros, ejecutar el código y luego debemos cerrar la conexión
‫nuevamente, porque de lo contrario podríamos encontrar errores.
‫Ahora mismo, lo que quiero mostrar son los zoológicos.
‫Y hay una cosa realmente a considerar aquí, porque tenemos muchos zoológicos, tenemos muchos animales,
‫e incluso tenemos esta tabla de relaciones, que tiene a ambos combinados.
‫Entonces los animales que están en un zoológico específico.
‫Pero si elimino un zoológico, también quiero aplicar una eliminación a todas las diferentes entradas de animales del zoológico.
‫Entonces.
‫Vayamos a los datos para que sean un poco más obvios, veamos la tabla del zoológico y la tabla de animales del
‫zoológico.
‫Así que digamos que soy el líder de Nueva York, que tiene la idea de uno, no sirve de nada mantener el zooide uno
‫aquí.
‫Así que este Zahidi uno y este Eweida uno y tres.
‫Entonces me encontré con esas entradas que ya no son necesarias porque no hay ningún animal en el zoológico, porque el
‫zoológico ya no existe.
‫Y es por eso que simplemente podemos deshacernos de esas dos entradas.
‫Pero no es necesario que lo hagamos manualmente aplicándolo en el código.
‫De hecho, también podemos ajustar nuestra tabla de datos y ajustarla hará el trabajo por nosotros.
‫Entonces, definición de mesa abierta, eso es lo que voy a abrir.
‫Y lo que simplemente necesito agregar aquí al final es Eliminar Kaskade.
‫Derecha.
‫Y lo hice para ambos aquí, así que para ambas restricciones, para nuestra clave externa animal y nuestro zoológico para Hinkie.
‫Entonces, simplemente borrará esta entrada que está allí si la entrada correspondiente no está disponible o más, la ID
‫correspondiente en el zoológico al que estamos conectados.
‫Entonces, digamos que si eliminamos un zoológico, bueno, entonces ya no necesitamos a todos los animales en un zoológico, ni a
‫los animales en sí mismos, sino a esta correlación o esta relación entre el zoológico y los animales.
‫Así que también podemos deshacernos de ellos.
‫Eso es lo que son estas dos entradas aquí.
‫Este restablecimiento es Kaskade nos permite hacerlo ahora antes de que podamos ejecutar el código, necesitamos actualizar solo para que
‫usted vea que esto realmente puede causar errores.
‫Así que simplemente voy a ejecutar el código.
‫Ahora voy a iniciarlo y voy a intentar eliminar algo y verás el error que se aplica aquí.
‫Entonces voy a borrar a Kyra.
‫Y dice que la declaración de escritura entró en conflicto con las restricciones de referencia porque el conflicto ocurrió en la zona
‫de la tabla de la base de datos.
‫Entonces, columna zooid, la declaración ha sido cancelada.
‫Entonces tenemos este error y bueno, si buscamos un error, encontramos que esto se debe a que nos falta exactamente
‫eso.
‫Entonces, en la cascada de clientes potenciales, y eso es porque aún no lo hemos actualizado.
‫Así que ahora actualice la base de datos con el nuevo diseño aquí con nuestras nuevas restricciones de tabla actualizadas.
‫Y una vez hecho esto, tenerlo completado y exitoso, eso es genial.
‫Podemos iniciarlo de nuevo y veremos que se borra.
‫Carol trabaja ahora.
‫Ahora bien, no obtuvimos un error, entonces, ¿por qué Cairo todavía está allí y eso tiene que ver con que no enviamos o llamamos
‫al método que muestra esta lista o actualiza esta lista?
‫Así que volvamos a nuestro código y en realidad está aquí.
‫Así que tenemos este código y ahora necesitamos mostrar que todos los animales son en realidad mostrar todos los zoológicos como ese mostrar zoológicos.
‫Ahora, eso comenzó de nuevo y verán que los chiros ya se habían ido.
‫Entonces ya no está allí, como puede ver, se ha eliminado.
‫Ahora conduce a Berlín, POUM, y obtenemos un error.
‫Pero desapareció.
‫Entonces, como puede ver, hubo un error porque eliminamos algo y este error fue aplicado por nuestro programa
‫ZUS o Associated Animal, en algún lugar aquí donde llamamos a la excepción, tuvimos esta excepción de captura y nos
‫mostró este error.
‫Está bien, pero eso es un gran paso adelante.
‫Así que ahora lo que voy a hacer es actualizar este código para que no detenga nuestro programa si nos encontramos con
‫un error.
‫Así que voy a construir un intento, atrapar y finalmente bloquear.
‫Así que todavía no lo hemos usado con tanta frecuencia, pero esta vez tiene mucho sentido.
‫Entonces, ¿cuál es el código que quiero ejecutar en mi tribu?
‫Bien, todo hasta la ejecución para que todo esto salga mal y luego.
‫Si queremos cerrar la conexión aquí y finalmente, esa es la manera correcta, porque si la abrimos aquí, necesitamos
‫cerrarla en un punto y deberíamos cerrarla.
‫Y finalmente, porque incluso si funcionó o no funcionó, simplemente queremos cerrarlo y asegurarnos de
‫que todo esté bien.
‫Lo mismo con nos muestra.
‫Entonces, si funcionó o no funcionó, no importa.
‫Simplemente llamamos al método show y eso mostrará los trajes que todavía están en nuestra tabla.
‫Y ahora, en lugar de simplemente arrojar un error, usaré y aceptaré su nombre aquí.
‫Lo llamaré E y lo mostraré en mi cuadro de mensaje.
‫Entonces muestra el cuadro de mensaje.
‫Y este será e ese para encadenar así.
‫Bien, ahora, este, podemos llamarlo X tal vez.
‫Quizás eso sea mejor porque el problema aquí es que nuestro evento rooteado ya se llama EESA,
‫deberíamos llamarlo Yak's.
‫Bien, ahora comencemos de nuevo y veamos si podemos eliminar componentes de nuestra lista.
‫Y no tenemos muchos de izquierda a derecha.
‫Así que eliminemos Tokio, obtengamos esto y char para animal en una combinación espera que la zona de Paramatta sea la que no
‫se suministró.
‫Y ese es en realidad un error que no nos ayuda en absoluto.
‫Así que me voy a deshacer de este cuadro de mensaje aquí porque, bueno, recibimos un error aquí, pero lo voy a
‫ignorar por ahora porque todavía está funcionando, ¿verdad?
‫Nuestro programa sigue funcionando y hace lo que debería.
‫Entonces, es solo aquí donde este código todavía se ejecuta, muestra los animales asociados.
‫Y en este caso, no tenemos nada ahí.
‫Derecha.
‫Entonces no hemos seleccionado algo que debería mostrar los animales asociados.
‫Solo voy a deshacerme de esta excepción aquí.
‫Y por cierto.
‫Sí, todo lo demás debería estar bien.
‫De acuerdo, sí, eso es todo.
‫Ahora ya sabe cómo eliminar componentes de su aplicación.
‫Y en el siguiente video, agregaremos cosas a nuestra lista.
‫Así que nos vemos allí.