Reunion 4

Cantidad de horas trabajadas

Alrededor de unas 6 horas.


Relato de avances acerca de problemas encontrados y como fueron resueltos

Durante esta sesión, surgieron varios problemas. Dentro de estos: la llamada de los stored procedures desde capa lógica y el retorno de los códigos de error.

Error en la llamada de los stored procedures: En este caso hubo mucho cambio en el código. Esto debido a que existen diferentes maneras de ejecutar un stored procedure desde capa lógica. Uno de ellos fue el siguiente:



El código presenta un error de lógica que no fue sencillo de ver. El programa corre bien y el stored procedure se ejecuta correctamente. Este se llama en la interfaz que se despliega para que el usuario inserte un artículo. A la hora de insertar un artículo, este "aparentemente" se insertaba de manera correcta, ya que, en la tabla de artículos que son ordenados de manera ascendente, este si aparecía. Sin embargo, si se hacia un SELECT * de la tabla Articulo desde MSSQL, esta insercion no aparecia, y de igual forma, si se volvia a ejecutar la pagina web, este articulo no aparecia en la tabla que ve el usuario. Por lo cual, se necesito cambiar el codigo al siguiente:




La principal diferencia entre la sintaxis de la ejecucion anterior y esta es el "conn.commit()" ya que justo despues de una transaccion, se necesita hacer commit a los datos para que se almacenen correctamente.

Por otro lado, el segundo error fue de los codigos de resultado del stored procedure de insercion. Este no retornaba de manera correcta el valor para poder usarse en capa logica. Asi que se tuvo que modificar ligeramente de la siguiente manera:

Se hacen dos cambios; el primero, es sacar la linea numero 35 del ELSE, esto con el objetivo de asegurar que siempre se vaya a retornar el codigo. Y el segundo fue cambiar el RETURN por un SELECT AS. Ahora con este cambio si se logra capturar el codigo desde capa logica, y asi, poder desplegar el mensaje de error respectivo en caso de ser necesario.


Dudas

Surgieron muchas dudas, por lo cual fue necesario consultar con chatGPT


En este caso se le pregunto a la pagina, como se hacia una tabla que pudiera autoincrementarse, es decir; hacer un loop por cada articulo retornado por el stored procedure. Asimismo, se tuvo que consultar por un "import" que no estaba siendo reconocido, la solucion fue agregar un "." antes de "database":


Forma en que trabajo el equipo de trabajo

Se hicieron llamadas por medio de la plataforma de Discord para poder compartir pantalla y trabajar simultaneamente.


Problemas con la instalación de software y aprendizaje del framework.

No se presento, todas las librerias instaladas funcionaron correctamente.


Investigaciones

Se utilizo chatGPT y HTML Tutorial (w3schools.com) para solventar dudas de codigo, instalacion, conexion con base de datos, etc.


Pruebas de concepto

Para encontrar errores y ver que almacenaban algunas variables fue necesario hacer ejecutar el stored procedure que generaba los codigos de salida, e imprimir estos en consola para verificar que en realidad se podian usar. 


En la imagen anterior se puede observar el resultado de las pruebas que se estaban realizando, en donde se intento ingresar un articulo que ya estaba almacenado.

Experiencias, moralejas, ayuda recibida, consejos a dar, buenas prácticas descubiertas

Trabajar simultaneamente en llamada con el socio de trabajo puede ser un proceso que relantice el desarrollo del proyecto, sin embargo, se da una curva de aprendizaje mayor ya que se atacan los problemas encontrados desde dos puntos de vista diferentes y se desarrolla todo el proyecto de manera progresiva.

Asimismo, con respecto al codigo, es prudente verificar cada vez que este se cambia. Puede que el proceso sea mas lento, sin embargo esto previene errores complicados que puedan atrasar el proyecto mucho mas. Por ejemplo; cuando se estuvo realizando la pagina web, fue necesario probar funcionalidades que se iban implementando, esto con el objetivo de trabajar de manera segura.


Incluir preguntas que se hagan al profe en el foro o en comunicaciones privadas, etc.



Comentarios

Entradas populares de este blog

Entrada 2