Вы находитесь на странице: 1из 8

Programación Concurrente 1

Lic. Antonio Paucar

Arquitectura y funcionamiento de ADO.NET


Ado.Net es un conjunto de librerías utilizadas para el acceso a datos (datos contenidos en una base de
datos, hojas de cálculo o un archivo XML).

Ado.Net es parte del sistema operativo y no un distribuible que se necesita alojar junto al cliente o junto
al instalador de una aplicación.

El modelo de objetos Ado.Net tiene dos componentes principales. El Dataset y el proveedor de datos .Net

Espacios de nombre para datos en el .Net Framework

Cuando utilizas objeto Ado.net en un formulario web o formulario Windows necesitaras importar estos
espacios de nombres.

 System.Data.- Consiste en las clases que constituyen la arquitectura Ado.Net que es el método
primario para tener acceso a los datos de las aplicaciones administrativas. Ado.Net también
proporciona las herramientas necesarias para solicitar, actualizar y reconciliar datos en aplicaciones
distribuidas.
 System.Data.Common.- Provee las clases e interfaces heredadas que permiten la implementación de
los .Net providers.
 System.Data.Sqlclient.- Clases que conforman el proveedor de datos de .Net Frameworks para SQL
Server, que permite conectarse a un origen de datos SQL, ejecutar los comandos y leer los resultados.
 System.Data.OleDB.- Clases que componen el proveedor de datos de .Net Frameworks para OLEDB
estas clases permiten el acceso a orígenes de datos ODBC en el espacio administrativo.
 System.DataOracleClient.- clases que componen el proveedor de datos de .Net Frameworks para
Oracle.
 System.Data.SqlTypes.- Clases, interfaces y listas que proveen los estándares basados en los
procedimientos XML.
Programación Concurrente 2
Lic. Antonio Paucar

El Proveedor de datos .Net Frameworks


El proveedor de datos .Net provee del enlace entre el Origen de datos y el Dataset. Un proveedor de
datos sirve para conectarse a una base de datos, ejecutar comandos y recuperar resultados. Estos
resultados se procesan directamente o se colocan en Dataset de Ado.Net con el fin de exponerlos al
usuario para un propósito específico, junto con datos de varios orígenes, o de utilizarlos de forma
remota.
 El Proveedor de datos .Net para SQL Server.- Es ligero y presenta un buen rendimiento porque esta
optimizado para tener acceso a Sql Server directamente, sin agregar una capa OLE.DB u ODBC
intermedia.

 El Proveedor de datos .Net para ODBC.- Utiliza el administrador de controladores ODBC nativos para
permitir el acceso a datos mediante la interoperabilidad COM. El proveedor de datos ODBC admite
tanto transacciones locales como distribuidas.

El Objeto SqlConnection

Representa una conexión abierta con una base de datos de SQL Server. También representa una única
sesión con un origen de datos. Se utiliza con SqlAdapter y SqlCommand para aumentar el rendimiento de
la conexión a una base de datos de Microsoft SQL Server.

 ConnectionString.- Obtiene o establece la cadena utilizada para abrir una base de datos de SQL
Server.

 Database.- Obtiene el nombre de la base de datos actual o de la que se va a utilizar una vez que se
abre la conexión.

 DataSource.- Obtiene el nombre de la instancia de SQL Server con la que se va establecer la conexión.

 ChangeDatabase.- Cambia la base de datos actual de una conexión SqlConnection abierta.

 Open.- Abre una conexión de base de datos con los valores de propiedad que especifica el
ConnectionString o la cadena de conexión cargada.

 Close.- Cierra la conexión de la base de datos.

 CreateCommand.- Crea y devuelve un objeto SqlCommand asociado a la conexión SqlConnection.


Programación Concurrente 3
Lic. Antonio Paucar

Ejemplo 01

‘Espacios de nombres
Imports System.Data
Imports System.Data.SqlClient

‘Cadena de conexión para ek usuario Sa


Public Class Form1
Dim cadenacnx As String = "Data source=Antonio-Pc;Initial catalog=Northwind; user=sa;Integrated Security=True;"
Dim xcon As New SqlConnection(cadenacnx)
 Cadenacnx = Representa la cadena de conexión que será leída por el proveedor, la cual se comunicara con el
proveedor y la base de datos mencionada.
 Datasource = Indica el nombre de la maquina local donde se encuentra la base de datos.

 User = Es el usuario con el que se entra al SQL server, el usuario por defecto es sa.
 Integrated Security = True Indica que usa seguridad integrada para conectarse a base de datos de servidor se
recomienda utilizar la autenticación de Windows que es la autenticación cuando nos logeamos al inicio del
sistema operativo, conocida comúnmente como seguridad integrada.

 Initial catalog = Northwind es el nombre de la base de datos, donde se realizara las consultas.

Private Sub MostrarInformacion()


Me.Label4.Text = "Conexion Satisfactoria"
Me.TextBox1.Text = xcon.ConnectionString
Me.TextBox2.Text = xcon.Database
Me.TextBox3.Text = xcon.DataSource
End Sub

Private Sub Prueba_Click()


Try
xcon.Open()
MostrarInformacion()
xcon.Close()
Catch ex As Exception
Me.Label4.Text = ex.Message
End Try
End Sub
Programación Concurrente 4
Lic. Antonio Paucar

Private Sub Cambiar_Click()


Try
xcon.Open()
xcon.ChangeDatabase("Master")
MostrarInformacion()
xcon.Close()
Catch ex As Exception
Me.Label4.Text = ex.Message
End Try
End Sub

Private Sub Salir_Click()


Me.Close()
End Sub
End Class

El Objeto SqlAdapter

Representa un conjunto de comandos de datos y una conexion de base de datos, que se utiliza para rellenar un
Dataset y actualiza una base de datos de SqlServer.

SqlAdapter se utiliza como un puente entre Dataset y SqlServer para recuperar y guardar datos. Porporciona este
puente mendiante la asignacion de Fill que cambia los datos en Dataset para que coincidan con los datos del origen
de datos y; Update que cambia los datos en el origen de datos para que coincidan con los datos en Dataset
utilizando las instrucciones de Transanct.

 Delete.- Compatible con .net compact framework obtiene o establece un procedimiento almacenado o una
instrucción de Transact para eliminar registros de un conjunto de datos.

 InsertCommand.- Permite ingresar registros de un conjunto de datos.

 Selecommand.- Permite seleccionar registros de un conjunto de datos.

 UpdateCommand.- Permite actualizar registros de un conjunto de datos.

 Fill.- Compatible con .net compact framework osobrecargado, reemplazado, agrega filas a Dataset o las
actualiza para que coincidan con las filas del origen de datos.
Ejemplo 02:
Programación Concurrente 5
Lic. Antonio Paucar

‘Declaraciones
Imports System.Data
Imports System.Data.SqlClient

Public Class Ejemplo2


Dim cadenacnx As String = "data source=Antonio-Pc;Initial catalog=Master; user=sa;Integrated Security=True;"
Dim xcon As New SqlConnection(cadenacnx)
Dim dsmaster As New DataSet

Private Sub Ejemplo2_Load()


Try
'Primera forma
Dim sconsulta As String = "select * from Employees"
Dim AdapterEmp As New SqlDataAdapter(sconsulta, cadenacnx)
AdapterEmp.Fill(dsmaster, "Employees")

'Segunda forma
sconsulta = "Select * from Customers"
Dim AdapterCus As New SqlDataAdapter(sconsulta, cadenacnx)
AdapterCus.Fill(dsmaster, "Customers")

'Tercera Forma
xcon.Open()
sconsulta = "Select * from Products"
Dim AdapterPro As New SqlDataAdapter(sconsulta, cadenacnx)
AdapterPro.Fill(dsmaster, "Products")
xcon.Close()
Catch ex As Exception
MessageBox.Show(ex.Message, "Ado .Net")
End Try
End Sub

Private Sub Empleados_Click()


Me.DataGridView1.DataSource = dsmaster.Tables(0)
End Sub

Private Sub Clientes_Click()


Me.DataGridView2.DataSource = dsmaster.Tables("Customers")
End Sub

Private Sub Productos_Click()


Me.DataGridView3.DataSource = dsmaster.Tables("Products")
End Sub
End Class

El Objeto DataSet

Es esencial para admitir escenarios de datos distribuidos de Ado.net sin mantener una conexión. Es una
representacion de datos residentes en memoria que proporciona un modelo de programacion relacional coherente
independientemente del origen de datos que contiene.

Un Dataset representa un conjunto completo de datos, incluyendo las tablas que contienen, ordenan y restringen
los datos, asi como las relaciones entre las tablas.
Programación Concurrente 6
Lic. Antonio Paucar

Como Dataset es una pequeña Base de Datos relacional mantenida en memoria del cliente, dispone de la
capacidad de crear multiples tablas, rellenarlas con datos que proceden de diferentes fuentes, imponer relaciones
entre pares de tablas, etc.

El Objeto DataTable

Es parecido a una tabla de una base de datos, tiene una colección de columnas DataColumn (los campos) e
instancias DataRow (los registros). Tambien puede tener una clave principal basada en una o varias columnas y una
colección de objetos Constrain que son utiles para hacer cunmplir la unicidad de los valores de una columna.

El Objeto DataRow

Representa una fila individual(registros) en una Datatable. Cada DataRow contiene uno o mas campos a los que se
pueden acceder mediante la propiedad item.

El Objeto DataColumn

Representa a una unica columna (campo) en un Datrow o en un Datatable, esta clase no cuenta con los metodos
heredados de System Object todas las propiedades son de lectura y escritura salvo algunas exepciones.

El Objeto SqlCommand

Representa a un objeto que almacena un procedimeinto almacenado o una instrucción de Transact Sql que se
ejecuta en una base de datos. Proporciona los siguientes metodos de ejecución de comandos en una base de datos
de Sql Server.

 Commandtext.- Establece el procedimiento almacenado que se ejecuta en el origen de los datos.


 Connection.- Establece la conexión SqlConnection
 CommandType.- Establece un valor que indica como se interpreta la propiedad CommandText
 ExecuteReader.- Ejecuta comandos que devuelven filas hacia un Datareader
 ExecuteNonQuery.- Ejecuta comandos Insert, Delete, Update, Set.
 ExecuteScalar.- Recupera un unico valor de una base de datos.
Programación Concurrente 7
Lic. Antonio Paucar

Ejemplo 03:

‘Declaraciones
Imports System.Data
Imports System.Data.SqlClient

‘Modulo
Module Modulegeneral
Public cadenacnx As String = "Data source=Antonio-Pc;Initial catalog=Alumnos; user=sa;Integrated
Security=True;"
Public xcon As New SqlConnection(cadenacnx)
End Module

Private Sub limpiar()


TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
TextBox5.Clear()
End Sub

Private Sub Nuevo_Click()


Limpiar()
TextBox1.Focus()
End Sub

Private Sub Guardar_Click()


Try
xcon.Open()
Dim sql As String = "Insert into Alumno(Codalu, Nomalu, Apealu, Diralu,edad)" + _
"values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "','" + _
TextBox4.Text + "','" + TextBox5.Text + "' )"
Dim xcommand As New SqlClient.SqlCommand(sql, xcon)
xcommand.ExecuteNonQuery()
MessageBox.Show("Registro Guardado")
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
Programación Concurrente 8
Lic. Antonio Paucar

If Not IsDBNull(xcon) Then xcon.Close()


End Try
End Sub´

Private Sub Salir_Click()


Dim r As Integer
r = MessageBox.Show("Segurio de salir", "Salir", MessageBoxButtons.YesNo, _
MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
If r = Windows.Forms.DialogResult.Yes Then
Application.Exit()
Else
limpiar()
TextBox1.Focus()
End If
End Sub

Вам также может понравиться