Programación de Consultas SQL ADO.Net LDP3501-2011 / DUOC-AV



Documentos relacionados
Programación de Consultas SQL ADO.Net LDP / DUOC-AV

ADMINISTRACIÓN DE BASE DE DATOS

Base de datos Procedimientos Almacenados y Funciones

Curso Online de Microsoft

Microsoft SQL Server 2005

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

Novedades en Q-flow 3.02

Formato para prácticas de laboratorio

CURSO DE SQL SERVER 2005

A- CREAR COPIA FÍSICA Y HEREDAR REGISTRO DE CONFIGURACIÓN

CONSULTAS BASICAS EN SQL SERVER

GUÍA DE TRABAJO GRADO 11. Articulación SENA Programación de Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

XPERTO EN DISEÑO DE PÁGINAS WEB

Guía de Apoyo Project Web Access. (Jefe de Proyectos)

Acronis License Server. Guía del usuario

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

ing Solution La forma más efectiva de llegar a sus clientes.

UNIDESYS UNIVERSAL BUSINESS SYSTEMS INSTALACIÓN NUEVO PUESTO DE TRABAJO

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

Cómo abrir la base de datos de Aspel-SAE 5.0?

SQL (Structured Query Language)

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd

Guía de implementación Softland en SQL Server Versión 1.0

Workflows? Sí, cuántos quiere?

Guía de instalación de la carpeta Datos de IslaWin

Introducción a las redes de computadores

Cómo abrir las bases de datos de Aspel-NOI 5.0?

GUÍA DE AYUDA No. 1 GENERACIÓN Y RECUPERACIÓN DE RESPALDOS DEL SISTEMA ADMINISTRADOR 2000

LABORATORIO 10. ADMINISTRACIÓN DE COPIAS DE SEGURIDAD EN SQL SERVER

Comisión Nacional de Bancos y Seguros

Oracle 12c DISEÑO Y PROGRAMACIÓN

CURSORES EN SQL SERVER

PROCESO DE DESVINCULACIÓN DE PERSONAL - CONSTRUCCIÓN Bizagi Process Modeler

SERVICIO NACIONAL DE APRENDIZAJE SENA

Índice libro SQL Server / 6

CONVERTIMOS SUS PROYECTOS EN REALIDAD SOMOS CONSTRUCTORES Y DESARROLLADORES DE NUESTROS SOFTWARE, CONFIENOS SUS PROYECTOS. Descripción del Producto

Tablas y Campos Nuevos

SOFTWARE INVENTARIO MOBILIARIO INSTITUCIONAL (SIMI v3.5)

MANUAL DE USUARIO AVMsorguar

Tema: Disparadores Parte I.

Descripción. Este Software cumple los siguientes hitos:

Microsoft Access 2007 (Completo)

CAPÍTULO 3 DISEÑO DE LA ARQUITECTURA

MANUALITO MS-SQL SERVER

Base de datos relacional

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

PROGRAMA FORMATIVO MICROSOFT ACCESS 2003 (COMPLETO)

Cómo abrir las bases de datos en Aspel-COI 6.0?

Administradores de Bases de Datos Studio.NET 2005 Y SQL Server Barrios

Toda base de datos relacional se basa en dos objetos

CAPITULO 01 Trabajando con -AMsi-

Sistema de Gestión y Consulta Documental. eprocess

WINDOWS : SERVIDOR DHCP

Operación Microsoft Access 97

3 Consultas y subconsultas

9- Procedimientos almacenados.

WALMAR CONTROL EN RUTA MANUAL DE USUARIO ADMINISTRACION EMANAGER 6

Visión General de GXportal. Última actualización: 2009

CONSTRUCCIÓN DEL PROCESO ADMINISTRADOR DE PROYECTOS SEIS SIGMA Bizagi Process Modeler

Herramientas Tecnológicas de Productividad. Sesión 7. Administración del tiempo y productividad personal.

Gestión de Oportunidades

Guía Rápida de Inicio

Gestión de Permisos. Documento de Construcción. Copyright 2014 Bizagi

PROGRAMA FORMATIVO MICROSOFT ACCESS 2007 (COMPLETO)

Capítulo 5. Cliente-Servidor.

Manual de usuario Versión: 1.3 Edición: 05/02/2015 1

Consultas con combinaciones

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Sesión No. 2. Contextualización: Nombre de la sesión: Paquetería ASPEL - COI PAQUETERÍA CONTABLE

Vistas en postgresql

CIF-KM. GUÍA DE LOS PRIMEROS PASOS

IT Solutions VERSION T e c h n o l o g y, C o m m i t m e n t & I n n o v a t i o n

LABORATORIO 10. COPIAS DE SEGURIDAD, RESTAURACIÓN Y RECUPERACIÓN DE UNA BD

INSTRUCCIONES CIERRE EJERCICIO 2014

Microsoft Access 2010 (Completo)

Guía de Instalación de XTBox

Contenido. cursos.cl / Teléfono:

EDITRAN/CL. Manual de Usuario e Instalación. Módulo de Cliente Departamental. Windows

Novedades. Introducción. Potencia

En esta sección revisaremos como dar de alta cuentas de clientes así como los diferentes ajustes que se pueden aplicar a las mismas.

CAPÍTULO 2 Sistemas De Base De Datos Multiusuarios

Emerson Network Energy Center, ENEC Lite, es. Multilenguaje. Navegación intuitiva. Multiusuario. Seguridad. Mantenimiento y control

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

Diseño de Indicadores de Gestión en Maximo. Manuel Vidal Dominguez

10776 Developing Microsoft SQL Server 2012 Databases

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Manual de Instalación SICO MANUAL DE INSTALACION SICO - SOFTWARE DE GESTION BASE DE DATOS SQL SERVER

CRM Gestión de Oportunidades Documento de Construcción Bizagi Process Modeler

Guía de instalación de la carpeta Datos de ContaWin

Copyright. Todos los derechos reservados. Aranda Software Corp.

Indice. .01 Introducci n. .02 Perfiles de usuario. .03 Ingreso al portal Mi Entel PCS Empresas. .04 Activación de los teléfonos móviles de la empresa

CASO PRÁCTICO Nº 03. El desarrollo del Caso Práctico Nº 03, busca lograr los siguientes objetivos en el participante:

GESTOR DE LICENCIAS Ayuda

Programación de Consultas SQL ADO.Net LDP / DUOC-AV

Bases de datos relacionales y el modelo entidad-relación

Instalación y configuración de Windows SharePoint Services (WSS) 2003

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa)

Consultoría, Análisis, Desarrollo y Mantenimiento de Software. Guía de Usuario V2.1. Junio 2.004

CIMA. MANUAL DE USUARIO

Transcripción:

En esta guía: Programación de Consultas SQL ADO.Net LDP3501-2011 / DUOC-AV Procedimientos Almacenados... 1 Procedimientos Almacenados (Stored Procedures)... 1 Sintaxis de Procedimientos Almacenados... 1 Recomendaciones y Nomenclaturas... 2 Acceso a Datos en ASP.Net con Procedimientos... 4 Propiedades de SQLDatasource para procedimientos... 4

Procedimientos Almacenados Esta guía describe la forma de mostrar los datos del control GridView utilizando un procedimiento. Un procedimiento es una consulta SQL almacenada en una base de datos de Microsoft SQL Server y no en el código de la aplicación. Los procedimientos s son más seguros que el código de consulta y a menudo su ejecución es más rápida. El control SqlDataSource, puede recuperar los resultados del procedimiento y servir como origen de datos del control GridView. Procedimientos Almacenados (Stored Procedures) Un procedimiento es un a consulta en lenguaje T-SQL (hablando de Microsoft SQL Server) que se encuentra almacenada físicamente como un objeto de la base de datos. La ventaja de un procedimiento es que al ser ejecutado, en respuesta a una petición de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor separado. Como tal, posee acceso directo a los datos que necesita manipular y sólo necesita enviar sus resultados de regreso al usuario, deshaciéndose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes. Los usos típicos para los procedimientos s incluyen la validación de datos siendo integrados a la estructura de base de datos (los procedimientos s utilizados para este propósito a menudo son llamados disparadores; triggers en inglés), o encapsular un proceso grande y complejo. Los procedimientos pueden ser ventajosos cuando una base de datos es manipulada desde muchos programas externos. Al incluir la lógica de la aplicación en la base de datos utilizando procedimientos s, la necesidad de embeber la misma lógica en todos los programas que acceden a los datos es reducida. Esto puede simplificar la creación y, particularmente, el mantenimiento de los programas involucrados. Sintaxis de Procedimientos Almacenados La sintaxis básica de declaración de un procedimiento se muestra a continuación: CREATE PROCEDURE <Nombre_Procedimiento> -- Declaración de parámetros <@Nombre_Parametro1> <Tipo_Dato> = <Valor_Default> [,<@Nombre_Parametro1> <Tipo_Dato> = <Valor_Default>] AS BEGIN -- Sentencia T-SQL del procedimiento END GO Para un mayor detalle de las distintas opciones de creación y manejo de procedimientos s, debe recurrir a la ayuda en línea que provee SQL Server 2008. A continuación se presenta un ejemplo de un procedimiento de consulta, el cual retornará todos los registros de una tabla que cumple con criterio basado en el parámetro recibido: Página 1

CREATE PROCEDURE SEL_PERSONAS @Pais int AS BEGIN SET NOCOUNT ON; END GO SELECT * FROM Personas WHERE IdPais = @Pais El procedimiento quedará guardado como un objeto de la base de datos. Si es requerida alguna modificación al código que lo define, se debe utilizar la instrucción ALTER en lugar de CREATE, como se muestra en el siguiente ejemplo: ALTER PROCEDURE SEL_PERSONAS @Pais int AS BEGIN SET NOCOUNT ON; END GO SELECT * FROM Personas WHERE IdPais <> @Pais /* Cambio en la comparación */ Una vez que el procedimiento ha sido creado en la base de datos, este puede ser accedido como tal mediante las clases de acceso a datos (SqlCommand) desde el código.net, para ello se debe especificar que el tipo de comando es CommandType.StoredProcedure. Recomendaciones y Nomenclaturas Es recomendado mantener algún estándar en la definición de los nombres de los procedimientos s. La función principal que se les da a los procedimientos, tiene relación con un concepto llamado CRUD que viene de un acrónimo en inglés para indicar: Creación (Create), Lectura (Read), Actualización (Update) y Eliminación (Delete). Por lo tanto la nomenclatura básica a definir debería estar guiada por estas definiciones. Para el caso de normar a nivel de los ejemplos y la codificación utilizaremos los siguientes prefijos para nuestros procedimientos: Función CRUD Prefijo Ejemplo Creación INS_ de la sentecia INSERT INS_PERSONA Página 2

Función CRUD Prefijo Ejemplo Lectura SEL_ de la sentencia SELECT asegurando un solo resultado. SEL_ALL, como variante cuando se trae un conjunto de registros. SEL_PERSONA SEL_ALL_PERSONA Actualización UPD_ de la sentencia UPDATE UPD_PERSONA Eliminación DEL_ de la sentencia DELETE DEL_PERSONA Otros CUS_ de la palabra customizer o personalizar CUS_CONTAR_PERSONAS Con las facilidades que se proveen en la herramienta de administración de SQL Server y demás software de generación automática del CRUD, se recomienda que para cada tabla del modelo de datos soportado, se cree tempranamente el CRUD completo de cada una de ellas. A posterior se irán agregando las particularizaciones requeridas en cada caso. Página 3

Acceso a Datos en ASP.Net con Procedimientos La aplicación desarrollada para conectarse a la base de datos en la actividad de Controles enlazados a datos, se valió de la capacidad que nos provee el control SQLDataSource como fuente de datos y que permite generar los Script SQL, para la recuperación y mantención de información. Estos script autogenerados, fueron utilizados por el control GridView y DropDownList, habilitando las funciones en base a la configuración realizada al SQLDataSource. Ahora poseemos procedimientos s que encapsulan en la Base de Datos la lógica de ejecución SQL, con lo cual podemos utilizar estos para poder realizar las funciones, eliminando la dependencia de los script generados en la página ASPX. Propiedades de SQLDatasource para procedimientos Al momento de configurar el SQL DataSource de manera automática (botón Avanzado en la configuración del comando Select), se han generado las instrucciones que permiten proveer las funciones de Inserción, Eliminación y Actualzación, de manera adicional a la posibilidad de selección de los registros (posteriormente filtrados). Esta generación automática de script SQL está residente en la página ASPX como se muestra a continuación: DeleteCommand="DELETE FROM [Empleado] WHERE [Rut] = @Rut" InsertCommand="INSERT INTO [Empleado] ([Rut], [Dv], [Nombres], [Apellidos], [Empresa]) VALUES (@Rut, @Dv, @Nombres, @Apellidos, @Empresa)" SelectCommand="SELECT * FROM [Empleado] WHERE ([Empresa] = @Empresa)" UpdateCommand="UPDATE [Empleado] SET [Dv] = @Dv, [Nombres] = @Nombres, [Apellidos] = @Apellidos, [Empresa] = @Empresa WHERE [Rut] = @Rut"> <SelectParameters> <asp:controlparameter ControlID="ddlEmpresa" Name="Empresa" PropertyName="SelectedValue" Type="Int32" /> </SelectParameters> <DeleteParameters> <asp:parameter Name="Rut" Type="Int32" /> </DeleteParameters> <UpdateParameters> <asp:parameter Name="Dv" Type="String" /> <asp:parameter Name="Nombres" Type="String" /> <asp:parameter Name="Apellidos" Type="String" /> <asp:parameter Name="Empresa" Type="Int32" /> <asp:parameter Name="Rut" Type="Int32" /> </UpdateParameters> <InsertParameters> <asp:parameter Name="Rut" Type="Int32" /> <asp:parameter Name="Dv" Type="String" /> <asp:parameter Name="Nombres" Type="String" /> <asp:parameter Name="Apellidos" Type="String" /> <asp:parameter Name="Empresa" Type="Int32" /> </InsertParameters> Como se visualiza se ha provisto de las instrucciones SQL y los respectivos parámetros de cada caso. Página 4

Lo interesante del código mostrado, es que identificamos los nombres de las propiedades donde se carga la sentencia SQL, misma que podemos utilizar para enlazar la fuente de datos a los procedimientos creados para cada caso. Además también se visualiza la definición de los respectivos parámetros asociados a cada comando, estando estos definidos como valores planos rescatados desde el control enlazado o de controles externos que pueden proveer el valor para el parámetro, como es el caso del DropDownList que provee el parámetro para el filtro (Where) del comando de selección. La siguiente tabla resume las principales propiedades para las respectivas funciones de consulta y mantención del control SQLDataSource: Accion Propiedad Descripción Selección SelectCommand Define el script o nombre del procedimiento para seleccionar los registros desde la fuente de datos. SelectCommandType SelectParameters Indica si el comando de selección es del tipo script comando definido por la propiedad SelectCommand. Es del tipo System.Web.UI.WebControls.ParameterCollection. Eliminación DeleteCommand Define el script o nombre del procedimiento para eliminar un registro en la fuente de datos. DeleteCommandType DeleteParameters Indica si el comando de eliminación es del tipo script comando definido por la propiedad DeleteCommand. Es del tipo System.Web.UI.WebControls.ParameterCollection. Actualización UpdateCommand Define el script o nombre del procedimiento para actualizar un registro en la fuente de datos. UpdateCommandType UpdateParameters Indica si el comando de actualización es del tipo script comando definido por la propiedad SelectCommand. Es del tipo System.Web.UI.WebControls.ParameterCollection. Inserción InsertCommand Define el script o nombre del procedimiento para insertar Página 5

Accion Propiedad Descripción un registro en la fuente de datos. InsertCommandType InsertParameters Indica si el comando de inserción es del tipo script comando definido por la propiedad SelectCommand. Es del tipo System.Web.UI.WebControls.ParameterCollection. La interfaz de configuración del SQLDataSource en las Tareas del control, nos provee una interacción amigable para poder realizar estas configuraciones, pero no se debe perder de vista el hecho que ellas pueden ser asignadas mediante las respectivas propiedades. Para ello nos guiamos en el asistente y al momento de indicar la sentencia SQL del comando Select, seleccionamos la opción para dar nosotros la instrucción SQL o procedimiento, configurando en la ventana siguiente el procedimiento para cada una de las instrucciones del CRUD. Si alguno de los procedimientos requiere algún parámetro especial no posible de identificar, este será solicitado por separado antes de terminar con el asistente. Otro aspecto a distinguir entre la configuración por interfaz y por propiedades directas en el código es que las propiedades <acción>command y <acción>parameters se presentan en la ventana de propiedades del control como <acción>query. Página 6