Está en la página 1de 40

Instituto Superior Tecnológico Público

ƏFrancisco de Paula Gonzáles VigilƐ


VigilƐ
Carrera Profesional de Computación e Informática

TALLER DE DESARROLLO
SOFTWARE

m 

3  

 
 
   




Introducción

r s parte fundamental de N T Framework.


r s un modelo de objetos desarrollado por Microsoft.
r Provee servicios de acceso a datos para múltiples fuentes de datos.
ƥ ases de datos relacionales ( MS)
ƥ XM
ƥ rchivos xcel, ccess, etcƕ
r Provee componentes para crear aplicaciones web y distribuidas sobre
diversas fuentes de datos.
r Se accede mediante el namespace System. ata.
r Provee escenarios conectados y desconectados.
r s la evolución de Microsoft ( ctivex ata bjects).
r Provee una serie de interfaces y clases abstractas para
implementaciones de terceros. ( PI Independendiente)
Componentes de .Net
Proveedores de datos

ƥ Se utilizan para conectarse a la base de datos, recuperar información y


ejecutar órdenes contra la misma.
ƥ ependientes del gestor de datos utilizado.
ƛ Proveedor de datos para SQ Server.
ƛ Proveedor de datos para le .
ƥ Utiliza los controladores nativos le  para indows.
ƥ Precisan de una capa adicional entre . N T y la base de datos.
ƛ Proveedor de datos para racle (a partir de .N T Framework 1.1).
Arq it t r ADO . E
(2 t f t l )
 
OS E F AME O K DA A P OVIDE S E DA ASE
ƥ S j t bj t (C ti , ƥ S rrti Ə  riƐ
 l
t.
C ,D t r, D t A t r). ƥ I 

it
 l f t

t.
ƥ P r it l xió l f t t . ƥ P 
 tilizr últil f t

t.

ƥ P r it bt r, ifi r t . ƥ Prri  j t
 bjt (Dt bl,
Dt w, t.)
ƥ P j t r ƏSt r Pr r Ɛy
vi r/r ibir rá tr ƥ Utiliz XM r  riti.
ƥ Diñ
 r ri Ə
t
Ɛ
Modelo de objetos .Net


Connection
ƥ 
           
  

       

Command
ƥ  
   
     
 
   
 

ata eader
ƥ C 
  
      
   

C  

ata dapter
ƥ P 

       
   
 


ƥ P 
    
 

 
  
   
 
   
Modelo de objetos .Net

bjeto ataSet.
ƥ bjeto ƏabstractoƐ: desligado
de cual uier gestor de bases de
datos.
ƥ Conjunto de tablas obtenidas
mediante el método Fill del
objeto ata dapter.
ƥ Se puede considerar como una
base de datos almacenada en la
memoria caché del cliente.
ƥ as tablas se cargan en la
memoria caché del cliente,
dejando disponible la
conexión con el origen de
datos para otros usuarios.
§spacios de nombres para .N§T

ƥ as clases de acceso a datos de .N§T Framework están en el espacio de nombres


System. ata.
ƥ Incluye las clases ue no pertenecen a ningún proveedor específico.
ƥ os nombres de las clases pertenecientes al proveedor de datos .N§T son nombres
genéricos.
ƥ §xisten clases distintas para cada sistema de gestión de bases de datos ubicadas
en su propio espacio de nombres:

ü V     ! "    "

 
         

ü V 
 V "   !V "  V "

  V   
V   

ü V 
  ! "   "

 
       

ü V 
 "   ! "   "

 
       
Modo Conectado

  


 m 

ƥ Ví   #
ƥ I 
   
ƥ 
ƥ C  
 
ƥ $C  
   
ƥ  C  
 
ƥ   C  
 
Modo Conectado

m 

   
 

ƥ %í   
   

%í   
   
&&'(
ƥ P )

ƥ P   % % 
ƥ *   +  + 
   
ƥ U%     
ƥ U 
 

  
ƥ 
ƥ C  
ƥ $C  
ƥ  C  
ƥ   C  
Modo Conectado

  @ @   @ m 

ƥ ( 
     

ƥ P +
ƥ P 

ƥ   

ƥ M)   
  @

ƥ Ú +   
ƥ F , 
F , && 
ƥ P     %   
 
 
   
ƥ 
ƥ 
-  
ƥ $
-  
@ 

ƥ  
-  
ƥ  
-  
ëesumen: Modo Conectado

ƥ U
  
C  
  C   
-  
ƥ 
         
      

ƥ m  
       
C      )  


-      +      
ƥ ( 
  

-       
 
ƥ  
C  
   )     
     
        

ƥ ( +   
   
  % 
   
+ 
   
   
    

ƥ  
           
    

  
  .
ƥ -    +  
ƥ P) ) mP  I


Modo esconectado

 @ @    m 

ƥ C 
   


 


ƥ C $ 
C $  í 
í   

ƥ I   
 

ƥ C 
   


@   @  
   

ƥ C 
   
+   @  

@  
 
ƥ I
   

ƥ -
 
ƥ 
ƥ 





ƥ 


 
ƥ 


V ,
Modo esconectado

m@ @  @ @   m@  m 

ƥ $
     
@ 
ƥ C    
    




ƥ C 
          
 
 
@   @ 
@
@
 
ƥ C 
  /     
  
    #
ƥ   
ƥ 
m 

ƥ  
m 

ƥ $
m 

ƥ  
m 
 @ 
ëesumen: Modo esconectado

ƥ a conexión sólo es necesario establecerla cuando se descarga información del origen de


datos.
ƥ Cada tabla del ataSet precisa de un objeto ata dapter.
ƥ §l método Fill se encargará de cargar una tabla en el ataSet.
ƥ os datos se almacenan en la memoria caché del cliente en un objeto ataSet.
ƥ os datos almacenados en el ataSet se pueden modificar.
ƥ as modificaciones efectuadas en el ataSet se pueden sincronizar con el origen de datos.
ƥ §l método Update del objeto ata dapter permite actualizar el origen de datos.
ƥ a información entre el cliente y el servidor se transmite en forma de datos XM (pueden ser
utilizados por otra aplicación).
ƥ Se utiliza cuando:
ƥ Se necesita modificar los datos frecuentemente.
ƥ §s necesario ue los datos estén mucho tiempo en memoria (por ejemplo en
aplicaciones indows Form).
ƥ Cuando no siempre es posible estar conectado al origen de datos (aplicaciones
móviles).
Conexión a la base de datos

ƥ Imprescindible tanto en modo conectado como


desconectado.
ƥ Pasos para crear una conexión:
ƥ Crear una instancia de algunas de las clases
Connection.
ƥ §stablecer la cadena de conexión mediante la
propiedad ConnectionString.
ƥ brir la conexión.
ƥ §n modo conectado la conexión permanecerá
abierta hasta ue termine la aplicación.
ƥ §n modo desconectado se cargarán los datos en
un objeto ataSet y se cerrará la conexión.
Conexión a la base de datos

ƥ Crear una instancia de las clases.


ƥ Para el proveedor de datos SQ .
im cnSQ s New S lConnection
ƥ Para el proveedor de datos le b.
im cn le b as New le bConnection
ƥ Notas:
ƥ os nombres de las instancias serán cnSQ y cn le b
respectivamente.
ƥ §s necesario tener establecido el espacio de nombres o
bien utilizar el nombre cualificado
(System. ata.S lClient.S lConnection).
ƥ ependiendo del alcance ue ueramos dar a las
variables utilizaremos los modificadores im, Private,
Public, etc.
Conexión a la base de datos

ƥ Cadena de conexión.
ƥ Todas las clases Connection de todos los proveedores tienen la
propiedad ConnectionString.
ƥ §l valor de la propiedad será una expresión de cadena
formada por parejas de nombres de argumentos y valores,
separados por un punto y coma.
SQ .ConnectionString ="Server=(local); atabase=ventas; User I =Ponce; pwd=1 345"
ƥ rgumentos para una conexión para el proveedor de SQ Server.
ata Source o Server Nomb   o  ba  ao

Inicial Catalog o atabase Nomb  a ba  ao a a   a a oa

Integrated Security V  o a fa   b fa  omb  ao a oaa; 


 o a    a a  a   a a d dow (o
a o mdo o  fa   o  !omdada a  a

Persist Security Info V  o a fa  !omdado a foma d dad o  d 
omo a d a o
User I Nomb d ao d a a ada  V V

Pwd "oaa d o d  aa a a d V V


Ñ 

 


ë 


 

Trabajar en modo conectado

ëecuperar filas.
      
  
-      C  
ƥ C        %    
    $         
!  #C   '(C    #CC      C  0
ƥ    

  í  
 '(      ! 
 (C0     
    + 
ƥ  
-    % %  
  
-  
ƥ        %    

ƥ -  
  
 +        (C
ƥ     
        
+
1C          %  '( % 
'(  w$C  
 
'(C  
 
23 % 2!  0;
 2% 
;U 4 25  ;w267/893
'( !0
1C        
  $C  2 w$C  !3(C:;-<C  3'(0
1C  
-  
C   $
-  
1 
   

C  2  
-  
Trabajar en modo conectado

mcceder a las filas recuperadas.


ƥ §l método ëead carga en el objeto ataëeader la siguiente fila.
ƥ evuelve false si no hay más filas.
ƥ os métodos Getxxx, permiten acceder al contenidos de las columnas.
ƥ Hay un método Getxxx por cada tipo de datos.
ƥ Utiliza como argumento el número de columna al ue se accede.

1   f    


1 

   
#6I
C 0
=>  C- 
#6I
  C   0? & ? C  00

CC  0
Trabajar en modo conectado

§jecutar funciones agregadas.


ƥ §l método §xecuteScalar de la clase Command devuelve sólo la primera columna de una
sentencia S§ §CT.

1   !
      "

 2 ,$ "

  (""U:0F-M" '(0
( " 2 !
 + . ?
    
§jecutar ordenes SQ de actualización.
ƥ Se utiliza el método §xecuteNonQuery de la clase Command.
ƥ Se ejecuta la sentencia SQ con la ue se cree el objeto Command.
1M + 
   @@@@/

 # ,$ "

  UP m" "m-#$ " $=A-" "#@@@@/ '(0

   ' 0


1m  " @@@@B

 # ,$ "

  I-I"" " "0 ?C


Vm(U$@@@@B$$-  $0 '(0

   ' 0


1 
  @@@@B

 # ,$ "

  (F-M"=A-" "#@@@@B '(0

   ' 0


m  
 


ë 
m 



 
  !

" 


# 




$
Modo esconectado Ɗ mdaptadores de datos

§n modo desconectado los adaptadores de datos se utilizan para relacionar una


conexión con un conjunto de datos.
ƥ mdapta los datos del formato nativo del gestor de bases de datos para ue
puedan ser utilizados en el ataSet (XM ).
ƥ Carga las diferentes tablas en el ataSet.
ƥ mctualiza las modificaciones del ataSet en el origen de datos.
ƥ Normalmente se utilizará un adaptador de datos por cada tabla ue
ueramos recuperar del origen de datos.
Crear la instancia del adaptador de datos.
ƥ Constructor.
im nombremdaptador ms xxx atamdapter
nombremdaptador = New xxx atamdapter(selectSQ , conexión)
ƥ xxx atamdapter es alguna de las clases S l atamdapter, le b atamdapter,
dbc atamdapter y racle atamdapter.
ƥ selectSQ es una cadena con la instrucción SQ ue recuperará los datos de
la tabla ue se añadirá al ataSet.
ƥ conexión es un objeto Connection ya abierto.
mptr  t

R ll r l j t t
ƥ E
 
 
    
b   
   
 
 b


b   


ƥ E
  
       

b


 ill b


 b b

b
ƥ   %
   b
   


ƥ nomb b

b  na %   n d  na qu  n
+  
b
n
   nun


ƥ Lo
qu     n n 
b  n  qu  upn m  n
 
 n SQL d  n
uc
  p
 

Conexiones, mdaptadores y conjunto de datos

Se conecta
mora ea aos
una
el base
is ode datos
eje para S yL carga
plo mccess SER ERen el conjunto de datos las tablas Clientes y
Pedidos.

1     



1&     

I


I

  
I

  
I

 $ C  
......
11   % 
  %           %
 f  
         %
 f  

 &
  m  m  

 &
  m$ m  

 Cm  m  

 Cm$ m  

 m ,

 m ,  
 
1m
  
1m
  
'( 0
'( 0
DC       
DC       
&
  # ,  m  &(&C:F-M&
  
&
  # ,$ m   &(&C:F-M&
  '(0
'(0
C# ,  m  &(&C:F-MC
C# ,$ m   &(&C:F-MC'(0
'(0
D-  
D-    
 
&
  F  
&
  F  &
  
&
  0 0
CF  C
CF   C0 0
DE%   
DE%          
      
'(C  0
'(C  0
a clase ataset

ƥ mlmacena en la memoria
caché del cliente los
resultados de la consulta SQ
establecida en un adaptador
de datos.
ƥ os datos están disponibles
en modo desconectado.
ƥ Forman una peueña base de
datos con la información
necesaria para la aplicación.
§l ataSet

(


 


)

&

'
#
%
!# 


 

# 
%
!#  "


%
!"


%
!&

&

a clase ataset

a colección Tables.
ƥ Cada tabla añadida por el método Fill del adaptador de datos
formará un objeto de tipo ataTable.
ƥ a propiedad Tables de la clase ataSet permite acceder al
conjunto de objetos ataTable cargados.
ƥ Se puede hacer referencia a cada una de las tablas indicando
el índice de la misma o mediante el nombre.
ƥ Para hacer referencia a la primera tabla cargada
(Clientes)
ds.Tables(0)
ƥ Para hacer referencia a
ƥ la tabla Pedidos
ds.Tables("Pedidos")
§l ataSet

#  ±  
# 
ß # 
*
 
# # 
 
"
  ß 






!
"
 
 !

ß  
" 

ß # 
*
 
" # 
 
 !
ß 
+
 

 !



 
 
,
" &-./0
*

 " &-" 0
" 
a clase ataset

ƥ Se conecta a una base de datos mccess y carga en el conjunto de datos las


tablas Clientes y Pedidos.

1 &'
 (         
;&)  * 4 * 
* 4
 ! * 

+ 
 * * 23+!
  (3?"V! * "
a clase ataTable

Cada tabla (objeto ataTable) está formada por:


ƥ Una colección de columnas (colección de objetos
ataColumn).
ƥ a propiedad Columns permite acceder a cada una de
las columnas.
ƥ Cada columna guarda información de las
características de cada uno de los campos (tipo de
dato, longitud, etc.).
ƥ §s posible acceder a ellas mediante el índice o
ƥ mediante el nombre de la columna.

1     
   &
  
C 
I
m  I  & C
 0
FmI  #@  ,0C 
C& "
C 
I
m C0? & ?  ,0C 
0C 

0
 
  
 # *
 C 
. ?C  ,0C 
C0
a clase ataTable

ƥ Una colección de filas (colección de objetos ataëow).


ƥ a propiedad ëows permite acceder a cada una de las filas.
ƥ Cada fila de la colección ëows está identificada por su índice (posición de la fila dentro
de la colección).
ƥ §s posible acceder a ellas de forma similar a un array.
ƥ §l valor de cada campo está disponible mediante la colección Item del objeto ataëow.
ƥ mccedemos a cada campo por su índice o por el nombre del campo.
ƥ btener la información de todas las filas de una tabla.
a clase ataTable

1     &


  
  I
C 0 D5
 

   
  I
m  C Fm  F
 F  F + 0 DV   +  
F  m I  #,   ,0-,C& "
  I
m   ,0-,0I
 C &
 0? F ?C
 ,0-,0I
 m
 0? F ?C
 ,0-,0I
 

 0? F ?C
 ,0-,0I
 &
 0? F ?C
 ,0-,0I
 
 00D? 0 
 

D     C


 CI
C 0 D5
 

   
 CI
m  C F  01 V   +  
F&> m -,I  "0-,
 CI
m  I
 C C 0? & ? I
 C 00
 
a clase ataView

ƥ Capa intermedia ue se sitúa entre la tabla.


ƥ Proporciona una vista filtrada y ordenada de las filas de la
tabla.
ƥ os datos de la tabla no varía, sólo cambia el filtro y la
ordenación de las filas.
ƥ Por su versatilidad se suele utilizar en aplicaciones ue
necesiten un enlace a datos.
ƥ Permite crear distintas vistas de una ataTable.
ƥ Por ejemploƕ
ƥ Puede servir para mostrar los datos de una tabla con
distintos criterios de ordenación.
ƥ Pueden enlazarse a controles distintos de una
aplicación para mostrar en una rejilla todas filas y en
otra las filas eliminadas.
ƥ Presenta una vista dinámica de la tabla a la ue está asociado.
ƥ as modificaciones ue se efectúen en el ataView
pueden tener efecto en la tabla.
ƥ §s similar al concepto de vista de una base de datos, peroƕ
ƥ No puede excluir ni añadir columnas de la tabla a la ue
está asociado
ƥ No puede proporcionar vistas de tablas combinadas.
a clase ataView

Construir un objeto ataView.


ƥ m partir de la propiedad efaultView de la clase ataTable.
im dv ms ataView = ds.Tables(ƏClientesƐ). efaultView
ƥ Proporciona una vista de todas las filas de la tabla Clientes a con
su ordenación original.
ƥ Mediante el contructor de la clase ataView.
ataView(dataTable, expresiónFiltro, expresiónSort,
dataView owState)
ƥ expresiónFiltro es una cadena con el criterio de selección en el
mismo formato ue en el método Select de la clase ataTable.
ƥ expresiónSort es una cadena con la expresión de ordenación en el
mismo formato ue el método Select de la clase ataTable.
ƥ dataView owState es un miembro de la enumeración
ataView owState ue indica el estado de las filas ue se
seleccionarán ( ver diapositiva siguiente).
a clase ataView

Filtrar y ordenar filas.


ƥ a propiedad ëowFilter de la clase ataView permite filtrar los registros de la vista.
ƥ §l valor de la propiedad sería una cadena con la expresión de filtro ( igual ue el
método Select de la clase ataTable).
ƥ a propiedad Sort permite ordenar las filas de la vista.
ƥ §l valor de la propiedad sería una cadena con la expresión de ordenación (igual ue
el método Select de la clase ataTable).
ƥ a propiedad ëowStateFilter es un miembro de la enumeración ataViewëowState ue
establece el filtro sobre el estado de la fila.
 l Dt
i

A   l fil  l it.


ƥ El  jt Dt
i r r i    li  jt DtR i l i t l
r i It.
ƥ  r  ll  rtir l í i   l t  l r i It.
.It( ).It("Ili t")
ƥ r ri  l i tifir  li t  l rir fil (fil   l it 
t.

1;       <    " 


  V ,#   "    0 + V ,
-,;  # P #'M '
% 
# C 
F m I
 #, %C 
ƛ "

C   =
( %I
0
 IC 
0??C
%I
0
 m  0??C
%I
0
   0??C
%I
0
 C  0??C
%I
0
 P % 00
 

a clase ataëelation

ƥ Permiten acceder a los datos de una tabla secundaria a partir de un campo clave de
una tabla primaria.
ƥ También permiten restringir la manipulación de datos y exigir la integridad
referencial de los datos.
ƥ a clase ataëelation permite añadir relaciones entre las tablas de un ataSet.
ƥ as relaciones de un ataSet son accesibles a partir de su colección ëelations.
ƥ Creación de una relación.
ƥ Crear una nueva instancia de la clase ataëelation.
New ataëelation(nombreëelación,columnaPadre, columnaHija)
ƥ columnaPadre y columnaHija son dos objetos ataColumn de las tablas
primaria y secundaria.
ƥ mñadirla a la colección ëelations del ataSet.
objeto ataSet.ëelations.mdd(nombreëelación)
Saludos,
atos para contacto:
José uis Ponce Segura
Tacna Ɗ Perú
Fono: 05 Ɗ 95 636911
ëPM *518333
www.sitelperu.net
www.redtacna.net

También podría gustarte