9. Uso De Procedimientos Almacenados
-
Upload
guest3cf6ff -
Category
Technology
-
view
11.479 -
download
6
Transcript of 9. Uso De Procedimientos Almacenados
![Page 1: 9. Uso De Procedimientos Almacenados](https://reader036.fdocument.pub/reader036/viewer/2022081417/557ade7cd8b42a63778b4d13/html5/thumbnails/1.jpg)
Invocar procedimientos almacenados con
Microsoft ADO.NET
![Page 2: 9. Uso De Procedimientos Almacenados](https://reader036.fdocument.pub/reader036/viewer/2022081417/557ade7cd8b42a63778b4d13/html5/thumbnails/2.jpg)
Descripción
Descripción de los procedimientos almacenados
Invocar procedimientos almacenados
![Page 3: 9. Uso De Procedimientos Almacenados](https://reader036.fdocument.pub/reader036/viewer/2022081417/557ade7cd8b42a63778b4d13/html5/thumbnails/3.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081417/557ade7cd8b42a63778b4d13/html5/thumbnails/4.jpg)
¿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](https://reader036.fdocument.pub/reader036/viewer/2022081417/557ade7cd8b42a63778b4d13/html5/thumbnails/5.jpg)
¿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](https://reader036.fdocument.pub/reader036/viewer/2022081417/557ade7cd8b42a63778b4d13/html5/thumbnails/6.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081417/557ade7cd8b42a63778b4d13/html5/thumbnails/7.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081417/557ade7cd8b42a63778b4d13/html5/thumbnails/8.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081417/557ade7cd8b42a63778b4d13/html5/thumbnails/9.jpg)
Demostración: invocar un procedimiento almacenado
![Page 10: 9. Uso De Procedimientos Almacenados](https://reader036.fdocument.pub/reader036/viewer/2022081417/557ade7cd8b42a63778b4d13/html5/thumbnails/10.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081417/557ade7cd8b42a63778b4d13/html5/thumbnails/11.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081417/557ade7cd8b42a63778b4d13/html5/thumbnails/12.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081417/557ade7cd8b42a63778b4d13/html5/thumbnails/13.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022081417/557ade7cd8b42a63778b4d13/html5/thumbnails/14.jpg)
Demostración: pasar parámetros