Primera Progra de Bases de Datos I
miércoles, 7 de octubre de 2015
Empeze finalizando la lectura de las carreras en el XML junto con las posiciones. Este hace un ciclo por cada carrera y este ciclo hace un ciclo por cada posicion de dicha carrera, y asi la va insertando. Dependiendo de la posicion que haya quedado, se le asignan los puntos correspondientes(Usando un case). Luego de crear la entrada en MoviemientoPuntos, se actualizan los nuevos datos en CampeonatoXCorredor. El proceso de insertar sanciones es similar, al final se fija si la nueva cantidad de sanciones es mayor o igual a 30, si es asi, se dice que queda expulsado. Ya con esto, cree el SP que lista los corredores expulsados en un campeonato. Mas que todo los errores que nos encontramos fueron de sintaxis de SQL para cual consultamos mucho la documentacion de Microsoft:https://msdn.microsoft.com/en-us/library/bb510741.aspx .
Horas totales: 21
Alejandro Rosales
Cierrre
Hoy fue el mayor trabajo que realize, como ya casi toda la parte visual se tenia , se enfoco en el sql, luego de terminar los SP necesarios, termine de linkear visual studio con sql
Horas trabajadas: 13
Horas trabajadas: 13
domingo, 4 de octubre de 2015
Al cargar la lista de corredores se encontro otro problema, hay que crea la tabla CampeonatoXCorredores luego de insertar cada corredor. Intentado varias tecnicas decidimos cargar los corredores a una tabla #temp. Se lee la tabla 1 por 1 usando un Cursor. Al leer cada linea, primero se crea el corredor correspondiente, y luego el elemento en CampeonatoXCorredor. Previamente se habia guardado el PK del campeonato en una variable usando la funcion SCOPE_IDENTITY(), para conseguir el key del corredor, se retorna el PK en la funcion que inserta un elemento a esta tabla. De esta forma se implementa:
...
set @IDCamp = SCOPE_IDENTITY()
EXEC sp_xml_preparedocument @hdoc OUTPUT, @x
SELECT * INTO #temp
FROM OPENXML (@hdoc, '/Campeonato/Corredores/Participante', 1)
WITH (Nombre varchar(50), Identificación int, FechaNacimiento date, Genero varchar(50), Email varchar(50), SobreNombre varchar(50))
Declare @TNombre varchar(50),@TIdentificacion int ,@TFechaNacimiento date ,@TGenero varchar(50),@TCorreo varchar(50),@TClave varchar(50)
Declare CT Cursor scroll
For SELECT Nombre,Identificación, FechaNacimiento , Genero , Email , SobreNombre From #temp
Open CT
Fetch first from CT INTO @TNombre,@TIdentificacion ,@TFechaNacimiento,@TGenero ,@TCorreo ,@TClave
while @@FETCH_STATUS = 0
BEGIN
exec @IDCorr = CorredorInsertar @TNombre,@TIdentificacion ,@TGenero ,@TFechaNacimiento ,@TCorreo ,@TClave
exec CampeonatoXCorredorInsertar @IDCamp, @IDCorr, 0, '00:00:00',0,0
Fetch next from CT INTO @TNombre,@TIdentificacion ,@TFechaNacimiento,@TGenero ,@TCorreo ,@TClave
END
...
Luego, cree el procedimiento que lista la informacion de los corredores expulsados en un campeonato. Se hace con un simple select.
Select Corredor.CorredorID,Corredor.Nombre,Corredor.Identificacion,Corredor.Correo,Corredor.FechaNacimiento,Corredor.Genero
from Corredor,CampeonatoXCorredor where CampeonatoXCorredor.FKCorredor = Corredor.CorredorID AND CampeonatoXCorredor.FKCampeonato = @IDCampeonato AND CampeonatoXCorredor.Estado = 1
Horas: 6
Alejandro Rosales
...
set @IDCamp = SCOPE_IDENTITY()
EXEC sp_xml_preparedocument @hdoc OUTPUT, @x
SELECT * INTO #temp
FROM OPENXML (@hdoc, '/Campeonato/Corredores/Participante', 1)
WITH (Nombre varchar(50), Identificación int, FechaNacimiento date, Genero varchar(50), Email varchar(50), SobreNombre varchar(50))
Declare @TNombre varchar(50),@TIdentificacion int ,@TFechaNacimiento date ,@TGenero varchar(50),@TCorreo varchar(50),@TClave varchar(50)
Declare CT Cursor scroll
For SELECT Nombre,Identificación, FechaNacimiento , Genero , Email , SobreNombre From #temp
Open CT
Fetch first from CT INTO @TNombre,@TIdentificacion ,@TFechaNacimiento,@TGenero ,@TCorreo ,@TClave
while @@FETCH_STATUS = 0
BEGIN
exec @IDCorr = CorredorInsertar @TNombre,@TIdentificacion ,@TGenero ,@TFechaNacimiento ,@TCorreo ,@TClave
exec CampeonatoXCorredorInsertar @IDCamp, @IDCorr, 0, '00:00:00',0,0
Fetch next from CT INTO @TNombre,@TIdentificacion ,@TFechaNacimiento,@TGenero ,@TCorreo ,@TClave
END
...
Luego, cree el procedimiento que lista la informacion de los corredores expulsados en un campeonato. Se hace con un simple select.
Select Corredor.CorredorID,Corredor.Nombre,Corredor.Identificacion,Corredor.Correo,Corredor.FechaNacimiento,Corredor.Genero
from Corredor,CampeonatoXCorredor where CampeonatoXCorredor.FKCorredor = Corredor.CorredorID AND CampeonatoXCorredor.FKCampeonato = @IDCampeonato AND CampeonatoXCorredor.Estado = 1
Horas: 6
Alejandro Rosales
sábado, 3 de octubre de 2015
Store procedures
Hoy me di cuenta que estaba haciendo los store procedure capa logica, y busque un video para saber como conectarlos con el sql con este video, tambien hice los botones de home y ademas, aprendi que algunos botones se les puede quitar el control de validacion. y cargue bien las tablas.
Horas: 1:32
Alonso Rivas Solano
Horas: 1:32
Alonso Rivas Solano
Mejorando el website
Empeze terminando la subscripcion de corredores que deje ayer a la mitad, segui con los videos que habia comenzado para poder terminar la subcripcion y tambien hacer un sistema de usuarios, ya que los corredores no puede hacer modificaciones, solo consultas, los videos me facilitaron mucho el codigo, y muy pocas veces investigue fuera de esos videos. Luego busque la manera de poder actualizar las tablas, ya que era uno de los puntos, la programada de hoy fue normal, no se presentaron problemas.
Horas: 5
Alonso Rivas Solano
Alonso Rivas Solano
Empeze modificando los atributos de la tabla Corredor, ya que nos faltaban dos campos, Identificacion, y Genero. Tambien modifique los procedimientos correspondientes. Luego empezea diseñar el procedure que lee el archivo xml. Para la tabla de campeonato fue implementado de esta manera:
Declare @x xml
Select @x = P
From OPENROWSET (BULK 'C:\Bases\XMLBases.xml', SINGLE_BLOB) AS XMLBases(P)
DECLARE @hdoc int
EXEC sp_xml_preparedocument @hdoc OUTPUT, @x
INSERT INTO [dbo].[Campeonato]
( Nombre,FechaInicio,FechaFinal)
SELECT *
FROM OPENXML (@hdoc, '/Campeonato', 1)
WITH (Nombre varchar(50), FechaInicio DATE, FechaFin DATE )
De una manera similar se buscaba implementar el procedimiento para la tabla de corredores, pero hubo un problema. Nos salia el siguiente error: Conversion failed when converting date and/or time from character string.
Declare @x xml
Select @x = P
From OPENROWSET (BULK 'C:\Bases\XMLBases.xml', SINGLE_BLOB) AS XMLBases(P)
DECLARE @hdoc int
EXEC sp_xml_preparedocument @hdoc OUTPUT, @x
INSERT INTO [dbo].[Campeonato]
( Nombre,FechaInicio,FechaFinal)
SELECT *
FROM OPENXML (@hdoc, '/Campeonato', 1)
WITH (Nombre varchar(50), FechaInicio DATE, FechaFin DATE )
De una manera similar se buscaba implementar el procedimiento para la tabla de corredores, pero hubo un problema. Nos salia el siguiente error: Conversion failed when converting date and/or time from character string.
Despues de mucho tiempo intentando varias soluciones como usando set dateformat, y modificando el xml, nos dimos cuenta que el archivo de xml trae un error. El 6to corredor listado trae su fecha de nacimiento en un formato diferente a los demas, mientras que los demas listan su fecha con el formato dd-mm-yyyy, este campo esta en formato mm-dd-yyyy. Asi, lo resolvimos modificando esta fecha en el xml.
Horas: 4 y media
Alejandro Rosales
Alejandro Rosales
miércoles, 30 de septiembre de 2015
Fecha: 30/09/2015
Esta es la primer entrada de la bitacora de la progra. Hemos comenzado con bajar sql microsoft, y hemos visto un playlist en youtube de como programar en SQL, EstePlaylist , Y comenzamos paso a paso a programar con lo que ibamos aprendiendo. Comenzamos a hacer el UML de la progra, que tuvo varios cambios al principio y tambien conforme ibamos avanzando, porque descubriamos que habian mejores maneras de relacionar las cosas. Se comenzo este blog un poco tarde pero hasta la fecha se ha llevado alrededor de 16 horas, siempre trabajando ambos miembros simultaneamente. Hasta el momento llevamos las tablas y una gran parte de los store procedure, ademas de el diseño de la pagina web. En los problemas encontrados, mas que todo fueron hacer los cambios al modelo, lo que implicaba borrar toda la base de datos y volverla a hacer, la mayoria fueron resueltos hablando con otras personas que ya tenian experiencia en SQL o que lo estan haciendo. La unica fue con el modelo, pero fue resuelta por el profesor. El equipo se desenvolvio bien. No tuvimos problemas con la instalacion del softwear. Para lo que fue el framework, nos sirvieron muchos Estos videos. Tambien se pudo investigar mas afondo el SQL con esta pagina. No hemos vivido experiencias que no nos hayan pasado ya en otros cursos. La moraleja hasta el momento ha sido empezar los proyectos con mas tiempo.Recibimos ayuda de el profesor y amigos que estan llevando el mismo curso.
Esta es la primer entrada de la bitacora de la progra. Hemos comenzado con bajar sql microsoft, y hemos visto un playlist en youtube de como programar en SQL, EstePlaylist , Y comenzamos paso a paso a programar con lo que ibamos aprendiendo. Comenzamos a hacer el UML de la progra, que tuvo varios cambios al principio y tambien conforme ibamos avanzando, porque descubriamos que habian mejores maneras de relacionar las cosas. Se comenzo este blog un poco tarde pero hasta la fecha se ha llevado alrededor de 16 horas, siempre trabajando ambos miembros simultaneamente. Hasta el momento llevamos las tablas y una gran parte de los store procedure, ademas de el diseño de la pagina web. En los problemas encontrados, mas que todo fueron hacer los cambios al modelo, lo que implicaba borrar toda la base de datos y volverla a hacer, la mayoria fueron resueltos hablando con otras personas que ya tenian experiencia en SQL o que lo estan haciendo. La unica fue con el modelo, pero fue resuelta por el profesor. El equipo se desenvolvio bien. No tuvimos problemas con la instalacion del softwear. Para lo que fue el framework, nos sirvieron muchos Estos videos. Tambien se pudo investigar mas afondo el SQL con esta pagina. No hemos vivido experiencias que no nos hayan pasado ya en otros cursos. La moraleja hasta el momento ha sido empezar los proyectos con mas tiempo.Recibimos ayuda de el profesor y amigos que estan llevando el mismo curso.
Suscribirse a:
Entradas (Atom)