Invocar procedimientos almacenados con Microsoft ADO.NET
Descripción Descripción de los procedimientos almacenados Invocar procedimientos almacenados
Lección: descripción de los procedimientos almacenados ¿Qué es un procedimiento almacenado? ¿Por qué utilizar procedimientos almacenados? Práctica: seleccionar el procedimiento almacenado correcto
¿Qué es un procedimiento almacenado? Procedimientos comunes de datos que pueden ser invocados por múltiples aplicaciones Web Acceso programático a una base de datos Devolver registros Devolver un valor Realizar acción Procedimiento almacenado Formulario Web Form Cliente Base datos Servidor Web SQL Server
¿Por qué utilizar procedimientos almacenados? Programación modular Distribución del trabajo Seguridad de la base de datos Ejecución más rápida Reduce el tráfico de red Proporciona flexibilidad
Práctica: seleccionar el procedimiento almacenado correcto Los estudiantes: Decidirán, en determinados escenarios, qué tipo de procedimiento almacenado debe utilizarse Tiempo: 5 Minutos
Lección: Invocar procedimientos almacenados Demostración: invocar un procedimiento almacenado Práctica: mostrar datos de un procedimiento almacenado Utilizar parámetros Pasar parámetros de entrada Utilizar parámetros de salida Demostración: pasar parámetros
Invocar procedimientos almacenados Identificar el procedimiento almacenado Configurar la propiedad SelectCommand del DataAdapter Ejecutar el procedimiento almacenado y almacenar los registros devueltos Dim daCategory As New SqlDataAdapter() daCategory.SelectCommand = New SqlCommand() daCategory.SelectCommand.Connection = conn daCategory.SelectCommand.CommandText = "ProductCategoryList" daCategory.SelectCommand.CommandType = CommandType.StoredProcedure SqlDataAdapter daCategory = new SqlDataAdapter(); daCategory.SelectCommand = new SqlCommand(); daCategory.SelectCommand.Connection = conn; daCategory.SelectCommand.CommandText = "ProductCategoryList"; daCategory.SelectCommand.CommandType = CommandType.StoredProcedure; daCategory.Fill(ds, "Categories") daCategory.Fill(ds, "Categories");
Demostración: invocar un procedimiento almacenado
Práctica: mostrar datos de un procedimiento almacenado Los estudiantes: Arrastrarán un procedimiento almacenado desde el Explorador de servidores a un formulario Web Form ASP.NET Crearán un objeto DataReader para leer los datos del procedimiento almacenado Vincularán un DataGrid al DataReader Tiempo: 15 minutos
Utilizar parámetros Identificar los parámetros disponibles Input Output InputOutput ReturnValue Incluir parámetros en la colección de parámetros o Incluir valores de parámetros en la cadena de comando
Pasar parámetros de entrada Crear el parámetro, establecer la dirección y el valor, agregar a la colección de parámetros Ejecutar el procedimiento almacenado y almacenar los registros devueltos param = New SqlParameter _ ("@Beginning_Date", SQLDbType.DateTime) param.Direction = ParameterDirection.Input param.Value = CDate(txtStartDate.Text) da.SelectCommand.parameters.Add(param) SqlParameter param = new SqlParameter ("@Beginning_Date", SqlDbType.DateTime); param.Direction = ParameterDirection.Input; param.Value = Convert.ToDateTime (txtStartDate.Text); da.SelectCommand.parameters.Add(param); ds = New DataSet(); da.Fill(ds, "Products"); ds = New DataSet() da.Fill(ds, "Products") Códigos de ejemplo
Utilizar parámetros de salida Crear el parámetro, establecer dirección y añadir a la colección Parameters Ejecutar el procedimiento almacenado y almacenar los registros devueltos Leer los parámetros de salida param = New SqlParameter("@ItemCount", SQLDbType.Int) param.Direction = ParameterDirection.Output da.SelectCommand.parameters.Add(param) param = new SqlParameter("@ItemCount", SqlDbType.Int); param.Direction = ParameterDirection.Output; da.SelectCommand.parameters.Add(param); ds = new DataSet() da.Fill(ds) ds = new DataSet(); da.Fill(ds); iTotal = da.parameters("@ItemCount").Value iTotal = da.parameters("@ItemCount").Value;
Demostración: pasar parámetros