[Eqalign-devel] Primer bug
Brought to you by:
antoniofga,
isoplut
From: Antonio F. <ant...@ya...> - 2007-11-24 13:32:27
|
Bien, pues he cometido un fallo: si no tienes una atik, es decir si no = existe ArtemisCCD.dll, el programa se cuelga.=20 Basta con poner un try/catch en la comprobaci=F3n de c=E1maras en = Camera.cs. He actualizado el instalador y el proyecto, pero no s=E9 = c=F3mo puedo subirlo a la web. Si puedes Francisco sube la nueva = versi=F3n. Otra cosa, una chorrada pero que deber=EDa acelerar la carga. En la = carga de estrellas me hace falta la magnitud y el tipo, como existe una = tabla hija de OBJETOS con las magnitudes (MAGNITUDES) para contemplar = las m=FAltiples, en opbjetos no se incluy=F3 este dato y de igual manera = existe una tabla hija con los tipos de los objetos en cuesti=F3n = (OBJETODETIPO) de modo que para leer las estrella: string strSQL; strSQL =3D "SELECT O.NombreObjeto, = O.NombreComunObjeto, O.NombreConstelacion, O.AR, O.DC"; strSQL +=3D " ,(SELECT Max(M2.Magnitud) FROM = MAGNITUDES M2 WHERE M2.NombreObjeto =3D O.NombreObjeto) As Magnitud"; strSQL +=3D " ,(SELECT NOMBRETIPO FROM OBJETODETIPO T = WHERE T.NombreObjeto =3D O.NombreObjeto) As Tipo"; strSQL +=3D " FROM OBJETOS O"; command.CommandText =3D strSQL; y lo que es peor: string strSQL; strSQL =3D "SELECT O.NombreObjeto, = O.NombreComunObjeto, O.NombreConstelacion, O.AR, O.DC"; strSQL +=3D " ,(SELECT Max(M2.Magnitud) FROM = MAGNITUDES M2 WHERE M2.NombreObjeto =3D O.NombreObjeto) As Magnitud"; strSQL +=3D " ,(SELECT NOMBRETIPO FROM OBJETODETIPO T = WHERE T.NombreObjeto =3D O.NombreObjeto) As Tipo"; strSQL +=3D " FROM OBJETOS O"; strSQL +=3D " WHERE (SELECT Max(M2.Magnitud) FROM = MAGNITUDES M2 WHERE M2.NombreObjeto =3D O.NombreObjeto) >=3D " + = minmag.ToString().Replace(",", "."); strSQL +=3D " And (SELECT Max(M2.Magnitud) FROM = MAGNITUDES M2 WHERE M2.NombreObjeto =3D O.NombreObjeto) < " + = maxmag.ToString().Replace(",", "."); command.CommandText =3D strSQL; Creo que este es un caso donde podemos obviar las reglas de = normalizaci=F3n de base de datos e incluir el campo magnitud (con la = magnitud m=EDnima) y tipo, aparte de mantener la tabla de magnitudes y = tipos por si son dobles o se tienen distintos tipos asociados. La tabla = MAGNITUDES s=F3lo deber=E1 tener los m=FAltiples valores distintos del = que ya est=E1 en la tabla objetos, lo mismo con OBJETODETIPO. Esto = deber=EDa acelerar m=E1s la carga, =BFestamos de acuerdo? Francisco, he creado los campos en eqalign.db y tratado de ejecutar la = sentencia: UPDATE OBJETOS SET magnitud =3D M.magnitud FROM OBJETOS O, MAGNITUDES M WHERE O.NOMBREOBJETO =3D M.NOMBREOBJETO=20 And M.magnitud =3D (SELECT Min(M2.Magnitud) FROM MAGNITUDES M2 = WHERE M2.NombreObjeto =3D M.NombreObjeto) y falla (lo mismo con el tipo de objeto), se ve que estoy encasquillado = con MSSQL =BFsabes la sintaxis correcta en Firebird? Un saludo |