Universidad de Costa Rica
Escuela de Ciencias de la
Computación e Informática
Profesor Adolfo Di Mare
CI-1201
I Semestre 2010
[<=] [home] [<>] [\/] [=>]
CI-1201 Programación II

Tarea #8 [solución]

btpSQL: [BiTácora SQLite]

 AA SS   CC   GG      PP               ETC
2010.1.ci1201.g04.laura..chinchilla.10..carta.pdf
2010.1.ci1201.g04.laura..chinchilla.11..cartafirma.doc
2010.1.ci1201.g04.laura..chinchilla.11..cartafirma.png
2010.1.ci1201.g04.laura..chinchilla.12..lista.xls
2010.1.ci1201.g04.laura..chinchilla.13..temario.doc
2010.1.ci1201.g04.laura..chinchilla.14..asist.01.png

2010.1.ci1201.g04.laura..chinchilla.20..tpg.01.califica.pdf
2010.1.ci1201.g04.laura..chinchilla.20..tpg.01.enunciado.pdf
2010.1.ci1201.g04.laura..chinchilla.20..tpg.02.califica.pdf
2010.1.ci1201.g04.laura..chinchilla.20..tpg.02.enunciado.pdf
2010.1.ci1201.g04.laura..chinchilla.20..tpg.03.califica.pdf
2010.1.ci1201.g04.laura..chinchilla.20..tpg.03.enunciado.pdf

2010.1.ci1201.g04.laura..chinchilla.30..ex1.enunciado.pdf
2010.1.ci1201.g04.laura..chinchilla.30..ex1.medio.pdf
2010.1.ci1201.g04.laura..chinchilla.30..ex1.mejor.pdf
2010.1.ci1201.g04.laura..chinchilla.30..ex1.peor.pdf
2010.1.ci1201.g04.laura..chinchilla.30..ex2.enunciado.pdf
2010.1.ci1201.g04.laura..chinchilla.30..ex2.medio.pdf
2010.1.ci1201.g04.laura..chinchilla.30..ex2.mejor.pdf
2010.1.ci1201.g04.laura..chinchilla.30..ex2.peor.pdf

2010.1.ci1201.g04.laura..chinchilla.40..qz.01..enunciado.pdf
2010.1.ci1201.g04.laura..chinchilla.40..qz.02..enunciado.pdf
2010.1.ci1201.g04.laura..chinchilla.40..qz.03..enunciado.pdf
2010.1.ci1201.g04.laura..chinchilla.40..qz.04..enunciado.pdf
2010.1.ci1201.g04.laura..chinchilla.40..qz.05..enunciado.pdf

2010.1.ci1201.g04.laura..chinchilla.50.doc.asistentes.pdf
2010.1.ci1201.g04.laura..chinchilla.50.doc.bibliografia.pdf
2010.1.ci1201.g04.laura..chinchilla.50.doc.compilador.pdf
Figura 1

      Use como base la solución a la tercera tarea programada para obtener los datos de los archivos de bitácora y almacenarlos en una base de datos SQLite contra la que se pueden hacer consultas SQL. Su base de datos es muy simple pues está compuesta de los siguientes campos:

BITACORA:
     AA  Año
     SS  Semestre
     CC  Curso
     GG  Grupo
     PP  Profe
     ETC Archivo

      Los archivos que su programa detecta tienen nombres que siguen la estructura que aparece en la Figura 1. Su programa "btpSQL.exe" usará estos nombres de archivos para crear y cargar la base de datos SQLite. Luego, su programa recibirá una sola consultas SQL contra esa base, en las que se puede usar los campos { AA , SS , CC , GG , PP } de la tabla BITACORA; con base en el resultado de la consulta, usted producirá el archivo "btpSQL_exe.bat" que sirve para copiar todos los archivos que cumplen con la consulta al la carpeta ./btpSQL.

:: btpSQL_exe.bat [BiTacora SQLite] Copia los archivos que cumplen con la consulta
@echo off

mkdir btpSQL

copy  "2010.1.ci1201.g04.laura..chinchilla.20..tpg.01.califica.pdf"  btpSQL
copy  "2010.1.ci1201.g04.laura..chinchilla.20..tpg.01.enunciado.pdf" btpSQL
copy  "2010.1.ci1201.g04.laura..chinchilla.20..tpg.02.califica.pdf"  btpSQL
copy  "2010.1.ci1201.g04.laura..chinchilla.20..tpg.02.enunciado.pdf" btpSQL
copy  "2010.1.ci1201.g04.laura..chinchilla.20..tpg.03.califica.pdf"  btpSQL
copy  "2010.1.ci1201.g04.laura..chinchilla.20..tpg.03.enunciado.pdf" btpSQL

:: ...
goto _out
:_out
:: btpSQL_exe.bat ==> Fin de archivo
Figura 2

      En la Figura 2 se muestra un posible resultado de su programa.

Consulta:
Profe: Tengo una duda: el usuario va a ingresar la consulta pero, ¿qué forma va a tener?
Respuesta:
Tiene que ingresar su consulta escrita en SQL. Leela como una hilera y se la pasás al programa. Eso sí, si esa consulta viene con errores, no dejés que tu programa se reviente: usá bloques try{}catch() para evitarlo.

      Entregue su tarea por correo electrónico, como lo hizo anteriormente.

[mailto:] Entrega de Tareas

Tiempo de entrega: 7 días
Modalidad: En parejas

Soluciones

[mailto:] Adolfo Di Mare <adolfo@di-mare.com>.
Copyright © 2010
Derechos de autor reservados © 2010
[home] <> [/\]