I.S.T. “F.P.G.V.” Computación e Informática
Programación Distribuida y Concurrente
GUÍA DE LABORATORIO N° 07 OBJETIVOS El alumno podrá conectarse a una base de datos usando los componentes ADO de Delphi. METODOLOGÍA • El alumno creará un módulo de datos en el cual insertará los componentes de conexión a datos (Datamodule1). • A continuación se creará un formulario desde donde se conectará a los componentes del módulo de datos (Formulario de datos). SECCIÓN 01: CREACIÓN DE UN NUEVO PROYECTO • •
Guarde el Formulario con el nombre de FrmAccesoaDatos.pas Proceda a crear un nuevo proyecto de trabajo con el nombre de AccesoDatos
SECCIÓN 02: CREACIÓN DEL MÓDULO DE ACCESO A DATOS (ModuloDatos.pas) 1. Seleccionar el menú File / New / Data Module, y luego nos agregará nuestro módulo en blanco. 2. Luego guarde el módulo File / Save As.., ingrese el nombre de ModuloDatos.pas, A continuación proceda a agregar los siguientes componentes en el módulo: • 04 componentes ADOTable (de la ficha ADO) • 01 componente DataSource (de la ficha Data Access) • 03 componentes ADOQuery (de la ficha ADO) • 02 componentes ADOStoredProc (de la ficha ADO) • 01 componente ADOConnection (de la ficha ADO) 3. Luego de haber agregado los componentes deberá obtener la siguiente apariencia, sin importar el orden de los mismos.: 4. Luego procedemos a establecer la propiedad Name a los componentes insertados en nuestro Módulos de Datos: ModuloDatos. Componente ADOQuery1 ADOQuery2 ADOQuery3 ADOTable1 ADOTable2 ADOTable3 ADOTable4 ADOStoredProc1 ADOStoredProc2 DataSource1
Propiedad Name Name Name Name Name Name Name Name Name Name
Valor qryCliente qryProducto qryTipoProducto tblComprobante tblDetalleComprobante tblProducto tblTipoProducto spBuscarEmpleado spMejorCliente dsComprobante
5. El aspecto de nuestro módulo luego de establecer los personalizar los nombres de los componentes deberá quedar de la siguiente forma:
Docente: Lic. José Luis Ponce Segura
www.vigilvirtual.com
Prac07 (1 de 9)
I.S.T. “F.P.G.V.” Computación e Informática
Programación Distribuida y Concurrente
SECCIÓN 03: CONFIGURACIÓN DE LA CONEXIÓN DE LA BASE DE DATOS: “TiendaDia” 6. Para ello deberá seleccionar el componente ADOConnection1 7. Luego en la ventana de propiedades del componente, deberá seleccionar la propiedad ConnectionString 8. Se visualizará una ventana donde deberá marcar la opción Use Connection String, luego deberá hacer clic en el botón “Build” y nos visualizará la siguiente ventana:
9. Seguidamente en el siguiente cuadro, deberá elegir el Proveedor de datos correspondiente, es decir para SQL Server.
Seleccione el Proveedor necesario para SQL Server: “Microsoft OLE DB Provider For SQL Server”
Luego haga clic en Siguiente>>
Docente: Lic. José Luis Ponce Segura
www.vigilvirtual.com
Prac07 (2 de 9)
I.S.T. “F.P.G.V.” Computación e Informática
Programación Distribuida y Concurrente
10. Luego para finalizar nos pedirá los parámetros de conexión, es Nombre_Servidor, Usuario, Contraseña, decir: Base_de_Datos, proceda a ingresar los datos según corresponda: 11. Finalice haciendo clic en el botón Aceptar.
12. Observará Usted en la propiedad ConnectionString del componente ADOConnection1 que se ha generado la cadena conexión respectiva: Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=TiendaDia;Data Source=PONCE;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=REDTACNA;Use Encryption for Data=False;Tag with column collation when possible=False 13. Guarde los cambios de su proyecto. SECCIÓN 04: CONFIGURACIÓN DE LOS COMPONENTES DE ACCEDO A DATOS 14. Para proceder deberá estar ubicado en el Módulo de Datos. 15. Seleccione el componente ADOConnection1 y procederemos a conectarlo a la base de datos, para ello ubique la propiedad Connected y establezca True, luego de ésta acción su aplicación estará conectada al Servidor. 16. Luego procedemos a configurar los componentes TADOQuery según la siguiente tabla: Componente qryCliente
Propiedad Connection SQL
qryProducto
Connection SQL
qryTipoProducto
Connection SQL
Valor ADOConnection1 SELECT IDCliente = Cod_Cliente, Nombre_Cliente FROM Cliente ORDER BY Nombre_Cliente ADOConnection1 SELECT IDProducto = Cod_Producto, Nombre_Producto FROM Producto ORDER BY Nombre_Producto ADOConnection1 SELECT IDTipoProducto = Cod_Tipo_Producto, Nombre_Tipo_Producto FROM Tipo_Producto ORDER BY Nombre_Tipo_Producto
17. Configuración de los componentes TADOTable: Componente tblTipoProducto tblProducto tblComprobante tblDetalleComprobante
Docente: Lic. José Luis Ponce Segura
Propiedad Connection TableName Connection TableName Connection TableName Connection TableName
Valor ADOConnection1 Tipo_Producto ADOConnection1 Producto ADOConnection1 Comprobante_Pago ADOConnection1 Detalle_Comprobante_Pago
www.vigilvirtual.com
Prac07 (3 de 9)
I.S.T. “F.P.G.V.” Computación e Informática
Programación Distribuida y Concurrente
18. Configuración de los componentes TADOStoredProc: Componente spBuscarEmpleado
spMejorCliente
Propiedad Connection ProcedureName
Connection ProcedureName
Valor ADOConnection1 Usp_BuscarEmpleadoPorCod Nota: Usted debe borrar el ;1 que está al final del nombre del procedimiento almacenado (Para agregar / editar parámetros, deberá hacer clic en el botón con puntos suspensivos: , luego nos visualiza una ventana con los parámetros existentes:
Luego configure el parámetro @CodEmp, para ello debe seleccionarlo primero y luego revisar las siguientes propiedades: DataType = ftInteger Direction = pdInput Value = 1 Type = Integer ADOConnection1 Usp_EstadMejorClientePorProducto Nota: Usted debe borrar el ;1 que está al final del nombre del procedimiento almacenado (Para agregar / editar parámetros, deberá hacer clic en el botón con puntos suspensivos: , luego nos visualiza una ventana con los parámetros existentes:
Luego configure el parámetro @Anio, para ello debe seleccionarlo primero y luego revisar las siguientes propiedades: DataType = ftInteger Direction = pdInput Value = 2002 Type = Integer
Docente: Lic. José Luis Ponce Segura
www.vigilvirtual.com
Prac07 (4 de 9)
I.S.T. “F.P.G.V.” Computación e Informática
Programación Distribuida y Concurrente
19. Configuración de los componentes TADOTable: ª Componente tblTipoProducto •
Seleccione el componente tblTipoProducto y en su menú contextual de éste seleccione “Fields Editor…”, siga los pasos que se muestran en la siguiente figura:
ª El componente tblProdcuto • •
Primero: Proceda de forma similar al del componente tblTipoProducto Seguidamente, en el menú contextual seleccione New Field, y configurar las propiedades del nuevo
campo de la siguiente forma (para agregar y/o importar el campo: TipoProducto desde el componente qryTipoProducto)
Se actualiza automáticamente No actualizar
Campo del componente
qryTipoProducto
Campo del componente
tblProducto •
Luego observaremos el nuevo campo “TipoProducto” en el componente tblProducto:
Docente: Lic. José Luis Ponce Segura
www.vigilvirtual.com
Prac07 (5 de 9)
I.S.T. “F.P.G.V.” Computación e Informática
Programación Distribuida y Concurrente
ª El componente tblComprobante • •
Primero: Proceda de forma similar al del componente tblTipoProducto Seguidamente, en el menú contextual seleccione New Field, y configurar las propiedades del nuevo
campo de la siguiente forma (para agregar y/o importar el campo: NombreCliente desde el componente qryCliente)
Se actualiza automáticamente No actualizar
Campo del componente
qryCliente
Campo del componente
tblComprobante •
Luego observaremos el nuevo campo “NombreCliente” en el componente tblComprobante:
ª El componente tblDetalleComprobante Primero: Proceda de forma similar al del componente tblTipoProducto Seguidamente, en el menú contextual seleccione New Field, y configurar las propiedades del nuevo campo de la siguiente forma (para agregar y/o importar el campo: NombreProducto desde el componente qryProducto)
Docente: Lic. José Luis Ponce Segura
www.vigilvirtual.com
Prac07 (6 de 9)
I.S.T. “F.P.G.V.” Computación e Informática
Programación Distribuida y Concurrente
20. Configuración de los componentes para enlazar una “tabla secundaria” con una “tabla primaria”: Componente dsComprobante tblDetalleComprobante
Propiedad Dataset MasterSource MasterFields
Valor tblComprobante dsComprobante (Para agregar / editar parámetros, deberá hacer clic en el botón con puntos suspensivos: , luego nos visualiza una ventana con los parámetros existentes y ahí Usted puede agregar alguno si faltara.
Campos del componente tblComprobante
Campos del componente tblDetalleComprobante
21. Deberá seleccionar los campos coincidentes de ambas tablas y luego hacer clic en Add, y obtendrá como resultado los siguiente:
22. Configuración de los campos de los procedimientos TADOStoredProc de la siguiente forma: ª El • ª El •
componente spBuscarEmpleado Proceda de forma similar que el componente tblTipoProducto componente spMejorCliente Proceda de forma similar que el componente tblTipoProducto
Docente: Lic. José Luis Ponce Segura
www.vigilvirtual.com
Prac07 (7 de 9)
I.S.T. “F.P.G.V.” Computación e Informática
Programación Distribuida y Concurrente
•
El resultado de la configuración de campos es similar a la que se muestra:
•
Proceda a guardar todo.
SECCIÓN 05: VERIFICACIÓN DE LOS ACCESOS A LAS TABLAS (FORMULARIO FRMACCESOADATOS) 23. Abrir el ModuloDatos y seleccionar el componente tblTipoProducto, y visualice los campos de éste componente. 24. Luego deberá agregar un componente BDNavigator de la ficha Data Controls 25. A continuación deberá arrastrar cada uno de los campos hacia el formulario.
Nota: si muestra un cuadro de diálogo, deberá responder en forma afirmativa, es decir Yes 26. Finalmente, después de agregar todos los campos el formulario deberá quedar como se muestra a continuación:
Docente: Lic. José Luis Ponce Segura
www.vigilvirtual.com
Prac07 (8 de 9)
I.S.T. “F.P.G.V.” Computación e Informática
Programación Distribuida y Concurrente
27. Modifique la propiedad Dataset del componente TDBNavigator1 Componente DBNavigator1
Propiedad DataSource
Valor Datasource1
28. Seguidamente deberá crear un procedimiento para el Formulario en el evento OnCreate, tal como se aprecia a continuación: procedure TFrmAccesoaDatos.FormCreate(Sender: TObject); begin Datasource1.DataSet.active:=true; end; SECCIÓN 06: CONFIGURAR LA APLICACIÓN: 29. Proceda a establecer el orden de creación de los formularios, par ello ir al menú Project / Options y seleccione como objeto inicial al Formulario FrmAccedoaDatos, y en el orden de creación establezca el orden: ModuloDatos, luego FrmAccesoaDtos, tal como se aprecia en la figura:
30. Ejecute la aplicación (no olvide dejar la propiedad “Connected = True”, del componente ADOConnection1 en el ModuloDatos, sólo por esta ocasión). TAREA: •
Proceda a crear los formularios para las otras tablas de su Base de datos.
Docente: Lic. José Luis Ponce Segura
www.vigilvirtual.com
Prac07 (9 de 9)