bases de datos
BASE DE DATOS NEPTUNO
APLICACION DESCONECTADA
(OJO A LOS COMENTARIOS !)
Procedimientos almacenados para la aplicación.
Create proc usp_Ciudades
As
Select Distinct Ciudad From Clientes
Go
Create proc usp_BusClienteporCiudad
@ciudad char(30)
As
Select IdCliente,NombreCompañia,NombreContacto,CargoContacto From
Clientes Where Ciudad=@ciudadGo
Exec usp_BusClienteporCiudad 'Londres'
Lenguaje de Programación II (Profesor: Carlos García Vergara)
Página 1
Codigo Fuente del Formulario
Imports System.Data.SqlClient 'Importando la libreria para SQL Server
Public Class Form1
'Creando la cadena de conexión al Servidor de SQL Server
Dim cn As New SqlConnection("Server=localhost;Integrated
Security=SSPI;Database=Neptuno")Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
'El Adaptador de datos (DataAdapter), realiza una llamada de un procedimiento
almacenado
'mediante una conexion abierta previamente al servidor de base de datos(cn)
Dim da As New SqlDataAdapter("usp_Ciudades", cn)
'Se crea una tabla en memoria, para almacenar el resultado del procedimientoalmacenado
Dim tbl As New DataTable
'una vez que el Adaptador de datos obtiene el resultado del procedimiento almacenado
'realiza una copia de los datos mediante el metodo Fill a la tabla en memoria,
'para luego desconectarse del servidor de base de datos.
da.Fill(tbl)
'Los datos almacenados en la tabla en memoria, serán visualizados en cualquier control
'ya sea recorriendo los datos de latabla por fila y columna ó
'enlazado la tabla a traves de una propiedad DataSource de un control de Datos.
'Para nuestro caso recorremos la tabla fila por fila para llenar el combobox item por item.
For i As Integer = 0 To tbl.Rows.Count - 1
ComboBox1.Items.Add(tbl.Rows(i)(0).ToString)
Next
'La lectura de datos de la tabla se realiza por fila y columna
' tbl.Rows(fila)(columna) y convertimos acadena el resultado ToString
‘En conclusion las aplicaciones desconectadas mantienen los datos en memoria una
vez que el Adaptador de datos recupera el resultado del procedimiento almacenado.
Lo cual indica que el Adaptador de datos abre, ejecuta y cierra conexión al servidor
de SQL Server de forma automatica una vez realizado el proceso .
End Sub
'Este evento se dispara cuando ocurre uncambio en su indice
seleccionado(cuando
'se ha seleccionado un Item)
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ComboBox1.SelectedIndexChanged
'Cuando tenemos un procedimiento almacenado con parametro es
recomendable hacer uso
'del objeto Command y Parameters, dado que al hacer la llamada del
procedimiento
'almacenadoenviamos su parametro con su tipo de dato nativo ó propio.
Lenguaje de Programación II (Profesor: Carlos García Vergara)
Página 2
'Para este caso se hace un pedido al Servidor de SQL Server un procedimiento
almacenado, previa
'conexion abierta al servidor (cn)
Dim cmd As New SqlCommand("usp_BusClienteporCiudad", cn)
'Se le indica en el tipo de comando que va a ejecutar :
'Existe trestipos de comandos:
'CommandType.StoredProcedure => ejecuta procedimientos almacenados
'CommandType.Text => ejecuta sentencias transact-sql (predeterminado)
'CommandType.TableDirect => ejecuta una tabla directamente ejemplo:
Clientes
cmd.CommandType = CommandType.StoredProcedure
'Se define el parametro y su tipo de dato SqlDbType.TipoDato con su longitud
'Add(Nombre del parametro delProcedimiento almacenado, Tipo de
dato).Value (valor recibido)
cmd.Parameters.Add("@ciudad", SqlDbType.VarChar, 30).Value = ComboBox1.Text
'El comando(Command) con su parametro será ejecutado con el Adaptador de
Datos en el Servidor de SQL Server
Dim da As New SqlDataAdapter(cmd)
'Creamos la tabla en memoria
Dim tbl As New DataTable
'Copiamos el resultado en la tabla en memoria y el adaptador de...
Regístrate para leer el documento completo.