En este artículo se muestra cómo
utilizar ASP.NET y ADO.NET con Visual Basic .NET para crear un procedimiento
almacenado de Microsoft SQL Server y llamarlo con un parámetro de entrada y
otro de salida.
El código de ejemplo de este
artículo comprueba en primer lugar si el procedimiento almacenado que va a
crear existe en la base de datos. Si no existe, crea uno que emplea un
parámetro para buscar en la tabla Authors por apellidos y devuelve las filas
coincidentes y el número de filas devueltas en un parámetro de salida.
En este artículo también se
muestra cómo crear un Web Form que proporciona una interfaz de usuario
sencilla. El Web Form contiene los elementos siguientes:
- · Un cuadro de texto en el que el usuario escribe la condición de búsqueda.
- · Un control DataGrid que muestra los resultados de la búsqueda.
- · Un control Label que muestra el número de registros devueltos.
- · Un control Button que llama al procedimiento almacenado cuando se hace clic en el botón.
Requisitos
En la lista siguiente se
describen el hardware, el software, la infraestructura de red y los Service
Packs requeridos:
·
Microsoft SQL Server versión 7.0 o
posterior
·
Microsoft Visual Studio .NET
·
Microsoft Visual Basic .NET
·
Permisos para crear el procedimiento
almacenado en la base de datos
En este artículo se da
por supuesto que está familiarizado con los temas siguientes:
·
Procedimientos almacenados de SQL Server
Crear un
proyecto ASP.NET y agregar controles
En esta sección, creará un proyecto ASP.NET y la
interfaz básica de usuario. Tenga en cuenta que en estos pasos se utiliza
código de Microsoft Visual Basic .NET. Para crear el proyecto, siga estos
pasos:
1. Haga clic en Inicio, seleccione Programas, Microsoft Visual Studio .NET y, a
continuación, haga clic en Microsoft
Visual Studio .NET.
2. En la página de inicio
de Visual Studio .NET, haga clic en Nuevo proyecto.
3. En el cuadro de
diálogo Nuevo proyecto,
haga clic en la opción Proyectos
de Visual Basic bajo Tipos
de proyecto y, a continuación, haga clic en Aplicación Web ASP.NET bajo Plantillas.
4. En el cuadro Nombre, escriba un nombre para la
aplicación Web y haga clic en Aceptar.
5. Agregue los
siguientes controles de servidor al Web Form y establezca las propiedades
indicadas en la tabla:
6. Arrastre
un control de servidor DataGrid desde el cuadro de herramientas al Web Form y
establezca la propiedad Name como GrdAuthors.
7. Haga
clic con el botón secundario del mouse (ratón) en la cuadrícula y, a
continuación, haga clic en Autoformat.
8. Haga
clic en Professional 1 para el esquema y haga clic en Aceptar.
Crear el procedimiento almacenado
GetAuthorsByLastName
Utilice el siguiente código Transact-SQL para crear el procedimiento
almacenado:
Este código incluye dos parámetros: @au_lname y @RowCount. @au_lname es
un parámetro de entrada que obtiene la cadena de búsqueda para realizar una
búsqueda "like" en la tabla Authors.
@RowCount es un parámetro de salida que utiliza la variable @@ROWCOUNT para
obtener las filas afectadas.
Crear y ejecutar el procedimiento
almacenado
Para tener acceso a las bases de datos de SQL Server, tiene que importar
el espacio de nombres System.Data.SqlClient, que proporciona nuevos objetos como SqlDataReader y SqlDataAdapter.
Puede utilizar SqlDataReader para leer una secuencia de filas sólo
hacia delante en una base de datos de SQL Server. DataAdapter representa un conjunto de comandos de datos y
una conexión de base de datos que se puede utilizar para llenar el objeto DataSet y
actualizar una base de datos de SQL Server.
ADO.NET también presenta el objeto DataSet, que es una representación de
datos residente en memoria que ofrece un modelo de programación relacional
coherente sin importar el origen de los datos. En el código de esta sección se
emplean todos estos objetos.
1. Haga doble clic en
el Web Form.
2. Agregue el código
siguiente a la sección Declaration del Web Form, que aparece en la parte
superior de la ventana de código:
3.
Para asegurarse de que el procedimiento almacenado existe y crear otro
nuevo, utilice un objeto SqlCommand con
un objeto SqlDataReader.
Puede emplear SqlCommand para
ejecutar cualquier comando SQL contra la base de datos. A continuación, llame
al método ExecuteReader de SqlCommand para devolver SqlDataReader, que contiene las filas
coincidentes de la consulta.
4.
Llame al
procedimiento almacenado en el evento Click del botón btnGetAuthors y utilice el objeto SqlDataAdapterpara ejecutar el procedimiento almacenado. Tiene
que crear parámetros para el procedimiento almacenado y anexarlo a la colección Parameters del objeto SqlDataAdapter.
5. En el Explorador de
soluciones, haga clic con el botón secundario del mouse (ratón)
en la página .aspx y, a continuación, haga clic en Establecer como página de inicio.
6. Guarde el proyecto
y, después, haga clic en Iniciar en
Visual Studio .NET. Observe que el proyecto se compila y que se ejecuta la página
predeterminada.
7. Escriba los
apellidos del autor en el cuadro de texto y haga clic en Obtener autores. Se llama al
procedimiento almacenado y las filas devueltas llenan el control DataGrid.
Puede proporcionar cadenas de búsqueda de tipo SQL Server como G%, que devuelve los todos los autores cuyos apellidos comienzan con la letra "G."
Puede proporcionar cadenas de búsqueda de tipo SQL Server como G%, que devuelve los todos los autores cuyos apellidos comienzan con la letra "G."
Solución de problemas
·
Si no puede conectar a la base de datos, asegúrese de que ConnectionString apunta
correctamente al servidor que ejecuta SQL Server.
·
Si puede conectar a la base de datos, pero tiene problemas al intentar
crear el procedimiento almacenado, asegúrese de que dispone de los permisos
adecuados para crear procedimientos almacenados en la base de datos a la que se
está conectando.






0 comentarios:
Publicar un comentario