21
UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA EJERCICIO EJERCICIO CAPÍTULO 18 CAPÍTULO 18 BASE DE DATOS AVANZADA Autor: Edwin Fabián Maza S. 1

Ejercicio Del Capitulo 18

Embed Size (px)

DESCRIPTION

resolución del ejecicio del capitulo 18

Citation preview

Page 1: Ejercicio Del Capitulo 18

UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA

EJERCICIOEJERCICIOCAPÍTULO 18CAPÍTULO 18

BASE DE DATOS AVANZADA

Autor: Edwin Fabián Maza S. 1

Page 2: Ejercicio Del Capitulo 18

REQUISITOS DE IMPLEMENTACIÓN PARA EL CASO

DE ESTUDIO DREAMHOME

(1) La capacidad de almacenar

fotografías de los inmuebles en

alquiler, junto con comentarios

que describan las principales

características del inmueble.

Autor: Edwin Fabián Maza S. 2

Page 3: Ejercicio Del Capitulo 18

REQUISITOS DE IMPLEMENTACIÓN PARA EL CASO

DE ESTUDIO DREAMHOME En la tabla PropertyForRent se

debería agregar los campos image de tipo MEDIUMBLOB y descripción de tipo TEXTO.

Después de haber añadido los campos, se debería configurar en la base de datos el tamaño máximo de la imagen permitida para ser almacenada, que en este caso es de 1MB.

Autor: Edwin Fabián Maza S. 3

Page 4: Ejercicio Del Capitulo 18

REQUISITOS DE IMPLEMENTACIÓN PARA EL CASO

DE ESTUDIO DREAMHOME Para escribir una archivo a una base

de datos en este caso MySQL necesitamos convertir al archivo en un vector de Bytes, luego usar el vector de Bytes como un parámetro para la sentencia INSERT de la base de datos, y en el campo descripción se le agregaría descripción del inmueble que se muestra en la imagen que se a almacenado en la base de datos.

Autor: Edwin Fabián Maza S. 4

Page 5: Ejercicio Del Capitulo 18

Un ejemplo de cómo se lo utilizaría en codificación esta implementación:

VARIABLE INICIALES

Dim conn As New MySqlConnection Dim cmd As New MySqlCommand Dim SQL As String Dim FileSize As UInt32 Dim rawData() As Byte Dim fs As FileStream conn.ConnectionString = "server=(local);"

& "uid=root;" & "pwd=12345;" & "database=test"

Autor: Edwin Fabián Maza S. 5

Page 6: Ejercicio Del Capitulo 18

Un ejemplo de cómo se lo utilizaría en codificación esta implementación:

Try∙ fs = New FileStream("c:\inmuble_1.png",

FileMode.Open, FileAccess.Read)∙ FileSize = fs.Length∙ rawData = New Byte(FileSize) {}∙ fs.Read(rawData, 0, FileSize)∙ fs.Close()∙ conn.Open()

∙ SQL = "INSERT INTO PropertyForRent VALUES(valores de los campos especificados al inicio, ‘descripción del inmueble’, ?File)"

Autor: Edwin Fabián Maza S. 6

Page 7: Ejercicio Del Capitulo 18

Un ejemplo de cómo se lo utilizaría en codificación esta implementación:

∙ cmd.Connection = conn∙ cmd.CommandText = SQL∙ cmd.Parameters.Add("?FileName", strFileName)∙ cmd.Parameters.Add("?FileSize", FileSize)∙ cmd.Parameters.Add("?File", rawData)∙ cmd.ExecuteNonQuery()∙ MessageBox.Show("File Inserted into database

successfully!", "Success!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)

∙ conn.Close() 

Catch ex As Exception∙ MessageBox.Show("There was an error: " &

ex.Message, "Error",∙ MessageBoxButtons.OK, MessageBoxIcon.Error)

End TryAutor: Edwin Fabián Maza S. 7

Page 8: Ejercicio Del Capitulo 18

REQUISITOS DE IMPLEMENTACIÓN PARA EL CASO

DE ESTUDIO DREAMHOME(2) La capacidad de publicar en la

web un informe que describa los

informes disponibles para alquiler.

Autor: Edwin Fabián Maza S. 8

Page 9: Ejercicio Del Capitulo 18

REQUISITOS DE IMPLEMENTACIÓN PARA EL CASO

DE ESTUDIO DREAMHOME Para implementar este requisito la

ventaja de MySql es que este SGBD puede trabajar conjuntamente con el lenguaje PHP, por lo que únicamente se debería crear reportes de información de lo que se quiere mostrar y desde la interfaz del cliente se llamaría la consulta, en este caso los informes de alquiler de inmuebles.

Autor: Edwin Fabián Maza S. 9

Page 10: Ejercicio Del Capitulo 18

REQUISITOS DE IMPLEMENTACIÓN PARA EL CASO

DE ESTUDIO DREAMHOME Aquí se utilizaría la tabla

PropertyForRent y averiguar si esta disponible para, que se muestren únicamente los inmuebles disponibles, y en la pagina web se mostrará toda la información del inmueble y sus características.

Se debería usar un SW que permita realizar reportes para generarlos con Wizars.

Autor: Edwin Fabián Maza S. 10

Page 11: Ejercicio Del Capitulo 18

REQUISITOS DE IMPLEMENTACIÓN PARA EL CASO

DE ESTUDIO DREAMHOME Agregaremos un reporte al proyecto. Haga clic en "Proyecto | Agregar elemento nuevo" y seleccione "Crystal Report":

Autor: Edwin Fabián Maza S. 11

Page 12: Ejercicio Del Capitulo 18

REQUISITOS DE IMPLEMENTACIÓN PARA EL CASO

DE ESTUDIO DREAMHOME Acepte el nombre "CrystalReport1.rtp", al presionar Intro. Crystal Reports mostrará un asistente. Marque "Usar el Experto en reportes" y "Estándar":

Autor: Edwin Fabián Maza S. 12

Page 13: Ejercicio Del Capitulo 18

REQUISITOS DE IMPLEMENTACIÓN PARA EL CASO

DE ESTUDIO DREAMHOME Se agrega la tabla o las tablas que se relacionan para generar el reporte

Autor: Edwin Fabián Maza S. 13

Page 14: Ejercicio Del Capitulo 18

REQUISITOS DE IMPLEMENTACIÓN PARA EL CASO

DE ESTUDIO DREAMHOME Se hace clic en "Siguiente" y seleccione las columnas que aparecerán en el reporte:

Autor: Edwin Fabián Maza S. 14

Page 15: Ejercicio Del Capitulo 18

REQUISITOS DE IMPLEMENTACIÓN PARA EL CASO

DE ESTUDIO DREAMHOME Se hace clic en "Siguiente" y defina un grupo haciendo clic en la columna "CategoryID" al lado izquierdo, y después en "Agregar":

Autor: Edwin Fabián Maza S. 15

Page 16: Ejercicio Del Capitulo 18

REQUISITOS DE IMPLEMENTACIÓN PARA EL CASO

DE ESTUDIO DREAMHOME Y esta listo para darle formato como desea que se muestre en la aplicación web.

Autor: Edwin Fabián Maza S. 16

Page 17: Ejercicio Del Capitulo 18

REQUISITOS DE IMPLEMENTACIÓN PARA EL CASO

DE ESTUDIO DREAMHOME Agregando un código similar al que se mostrará al ultimo se presentara el reporte de la siguiente manera.

Autor: Edwin Fabián Maza S. 17

Page 18: Ejercicio Del Capitulo 18

REQUISITOS DE IMPLEMENTACIÓN PARA EL CASO

DE ESTUDIO DREAMHOME También se lo podría implementando codificando de la siguiente manera.

VARIABLES INICIALES using CrystalDecisions.CrystalReports.Engine; using System.Data; using MySql.Data.MySqlClient; ReportDocument myReport = new ReportDocument(); DataSet myData = new DataSet(); MySql.Data.MySqlClient.MySqlConnection conn; MySql.Data.MySqlClient.MySqlCommand cmd; MySql.Data.MySqlClient.MySqlDataAdapter myAdapter; conn = new MySql.Data.MySqlClient.MySqlConnection(); cmd = new MySql.Data.MySqlClient.MySqlCommand(); myAdapter = new MySql.Data.MySqlClient.MySqlDataAdapter(); conn.ConnectionString = "server=127.0.0.1;uid=root;

pwd=12345;database=test;";

Autor: Edwin Fabián Maza S. 18

Page 19: Ejercicio Del Capitulo 18

REQUISITOS DE IMPLEMENTACIÓN PARA EL CASO

DE ESTUDIO DREAMHOME try {

∙ cmd.CommandText = "cadena de consulta de los datos requeridos en el reporte";

∙ cmd.Connection = conn;∙ myAdapter.SelectCommand = cmd;∙ myAdapter.Fill(myData);∙ myReport.Load(@".\reporte_inmuebles.rpt");∙ myReport.SetDataSource(myData);∙ myViewer.ReportSource = myReport;

}Autor: Edwin Fabián Maza S. 19

Page 20: Ejercicio Del Capitulo 18

REQUISITOS DE IMPLEMENTACIÓN PARA EL CASO

DE ESTUDIO DREAMHOME catch

(MySql.Data.MySqlClient.MySqlException ex)

{∙ MessageBox.Show(ex.Message, "Report could

not be created",∙ MessageBoxButtons.OK, MessageBoxIcon.Error);

}

Autor: Edwin Fabián Maza S. 20

Page 21: Ejercicio Del Capitulo 18

BASE DE DATOS AVANZADAS

GRACIAS……..

EJERCICIO CAPITULO 18

Autor: Edwin Fabián Maza S. 21