9. uso de procedimientos almacenados

Post on 12-Jun-2015

11.478 Views

Category:

Technology

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

ClienteCliente

SQL ServerSQL Server

FormularioWeb Form

Procedimientoalmacenado

Procedimientoalmacenado

Servidor WebServidor Web

Base datos

¿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

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 = conndaCategory.SelectCommand.CommandText = "ProductCategoryList"daCategory.SelectCommand.CommandType = CommandType.StoredProcedure

Dim daCategory As New SqlDataAdapter()daCategory.SelectCommand = New SqlCommand()daCategory.SelectCommand.Connection = conndaCategory.SelectCommand.CommandText = "ProductCategoryList"daCategory.SelectCommand.CommandType = CommandType.StoredProcedure

daCategory.Fill(ds, "Categories")daCategory.Fill(ds, "Categories")

SqlDataAdapter daCategory = 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

SqlParameter param = new SqlParameter ("@Beginning_Date", SqlDbType.DateTime);param.Direction = ParameterDirection.Input;param.Value = Convert.ToDateTime

(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

ds = New DataSet()da.Fill(ds, "Products")

ds = New DataSet()da.Fill(ds, "Products")

param = New SqlParameter _ ("@Beginning_Date", SQLDbType.DateTime)param.Direction = ParameterDirection.Inputparam.Value = CDate(txtStartDate.Text)da.SelectCommand.parameters.Add(param)

param = New SqlParameter _ ("@Beginning_Date", SQLDbType.DateTime)param.Direction = ParameterDirection.Inputparam.Value = CDate(txtStartDate.Text)da.SelectCommand.parameters.Add(param)

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.Outputda.SelectCommand.parameters.Add(param)

param = New SqlParameter("@ItemCount", SQLDbType.Int)param.Direction = ParameterDirection.Outputda.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

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

top related