9. uso de procedimientos almacenados

14
Invocar procedimientos almacenados con Microsoft ADO.NET

Upload: guest3cf6ff

Post on 12-Jun-2015

11.478 views

Category:

Technology


6 download

TRANSCRIPT

Page 1: 9.  Uso De Procedimientos Almacenados

Invocar procedimientos almacenados con

Microsoft ADO.NET

Page 2: 9.  Uso De Procedimientos Almacenados

Descripción

Descripción de los procedimientos almacenados

Invocar procedimientos almacenados

Page 3: 9.  Uso De 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

Page 4: 9.  Uso De Procedimientos Almacenados

¿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

Page 5: 9.  Uso De Procedimientos Almacenados

¿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

Page 6: 9.  Uso De Procedimientos Almacenados

Práctica: seleccionar el procedimiento almacenado correcto

Los estudiantes:

Decidirán, en determinados escenarios, qué tipo de procedimiento almacenado debe utilizarse

Tiempo: 5 Minutos

Page 7: 9.  Uso De Procedimientos Almacenados

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

Page 8: 9.  Uso De Procedimientos Almacenados

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");

Page 9: 9.  Uso De Procedimientos Almacenados

Demostración: invocar un procedimiento almacenado

Page 10: 9.  Uso De Procedimientos Almacenados

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

Page 11: 9.  Uso De Procedimientos Almacenados

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

Page 12: 9.  Uso De Procedimientos Almacenados

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)

Page 13: 9.  Uso De Procedimientos Almacenados

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;

Page 14: 9.  Uso De Procedimientos Almacenados

Demostración: pasar parámetros