Documentos de Académico
Documentos de Profesional
Documentos de Cultura
06c. - Acceso A Datos Desde CSharp
06c. - Acceso A Datos Desde CSharp
26/02/2013
ap)icaciones
#os componentes estn dise1ados para separar e) acceso a )os datos de )a manipu)acin de )os mismos.
26/02/2013
Evoluci#$ %ist#rica
ODBC 2Open Data"ase &onnecti(ity3
nteroperati/i)idad con amp)io ran!o de 45"D 0P acceso amp)iamente aceptada 6sa 47# como )en!ua.e de acceso de datos
26/02/2013
Evoluci#$ %ist#rica
RDO 2Remote Data O/.ects3
-strechamente )i!ado a OD"& Orientada a ap)icaciones c)iente/ser(idor
Evoluci#$ %ist#rica
ADO 20cti(e; Data O/.ects3
O+rece una inter+ase orientada a o/.etos Proporciona un mode)o de pro!ramacin para O#- D" accesi/)e desde )en!ua.es di+erentes a &:: Dise1ado como mode)o conectado% a)tamente acop)ado ndicado para arquitecturas c)iente/ser(idor
26/02/2013
ODBC
0cceso (9a protoco)o OD"& a cua)quier +uente de datos que )o soporte System.Data.Odbc
SQL Server
0cceso nati(o a M4 47# 4er(er <.= superior y M4 0ccess System.Data.SqlClient
Oracle
0cceso nati(o a Orac)e 4er(er System.Data.OracleClient
26/02/2013
&om'o$e$tes de ADO.NET
Connection 2cone*in3 Command 2rdenes3 DataReader 2)ector de datos3 DataAdapter 2adaptador de datos3
26/02/2013
Datos co$ectados
Command 2comando3
Representa una (9a para representar sentencias 47# a )a "D -.emp)o: 4e)ect% nsert% De)ete% 6pdate
26/02/2013
(odelo co$ectado
Datos desco$ectados
26/02/2013
(odelo desco$ectado
26/02/2013
ADO.NET
,o depende de cone*iones continuamente acti(as% esto es% )as ap)icaciones se conectan a )a "D s)o durante e) tiempo necesario para consu)tar o actua)izar datos. #as interacciones con )a "D se rea)izan mediante rdenes para acceso a )os datos. #os datos requeridos norma)mente se a)macenan en memoria cach? en con.unto de datos% )o que permite tra/a.ar sin cone*in so/re una copia tempora) de )os datos.
X(L
-n 0DO.,-T% e) +ormato de trans+erencia es ;M#. #a representacin de datos ;M# no uti)iza in+ormacin /inaria% sino se /asa en te*to. Muchos ser(idores /)oquean )a in+ormacin /inaria. &uando se mane.an datos en +ormato de te*to% se pueden en(iar mediante cua)quier protoco)o% como HTTP.
10
26/02/2013
ADO.NET ) X(L
11
26/02/2013
Arquitectura
12
26/02/2013
#en!ua.e que permite manipu)ar datos mediante e) DM# 2Data Manipu)ation #an!ua!e3:
O/tener datos a)macenados en )as ta/)as nsertar% /orrar o actua)izar datos de )as ta/)as
>. De+inir e)ementos mediante e) DD# 2Data De+inition #an!ua!e3: &rear% /orrar% modi+icar ta/)as% re)aciones% restricciones% etc.
*e$te$cias de *+L
Permiten consu)tar datos de )as ta/)as. T9picamente consisten de C partes: SELECT D,om/res de )os camposE RO! D,om/re de )a2s3 ta/)a2s3E "#ERE D&ondicin2es3 de +i)trado de datosE
13
26/02/2013
Ejem'lo de *+L
14
26/02/2013
El objeto &o$$ectio$
Para conectarse a una "D% 0DO.,-T proporciona e) o/.eto Connection. M?todos ms usados: Open().F 0/re )a cone*in. Requiere una cadena de tipo string que descri/a:
-) tipo de )a "D #a u/icacin 0utenticacin 2si requiere3
15
26/02/2013
&o$$ectio$
Tipo de base de datos 47# 4er(er O#- D" OD"& Orac)e
Ejem'lousing System.Data.OleDb;
OledbConnection Conexin = new OleDbConnection(CadenaConexin);
16
26/02/2013
El objeto &oma$d
Despu?s de esta/)ecer )a cone*in con )a "D% se usa e) o/.eto Command para e.ecutar sentencias 47# y de(o)(er )os resu)tados. OleDbCommand.F Datos compati/)es con O)eD/ OdbcCommand.F Datos compati/)es con Od/c SqlCommand.F Datos compati/)es con 47# 4er(er OracleCommand.F Datos compati/)es con Orac)e -.emp)o: OleDbCommand Comando = new OleDbCommand(SELECT NoCtrl, Nombre FROM TablaAlumnos WHERE Semestre=8,Conexin);
17
26/02/2013
El objeto Data1eader
4e usa so)amente para )eer datos de una "D. OleDbDataReader.F Datos compati/)es con O)eD/ SqlDataReader.F Datos compati/)es con 47# 4er(er
18
26/02/2013
class #aseDatosAlu nos , )ri5ate OleDbConnection Cone"ion! // Declaracin de la cone"in con la #D )ri5ate OleDbCo and Co ando! // Declaracin del co ando con sentencias S6L )ri5ate OleDbDataReader Lector! // Declaracin del lector de datos )ublic 5oid LeerDe#aseDeDatos%' , // Declaracin de la cadena de cone"in string CadenaCone"ion = 7"8ro5ider=Microso9t(ACE(OLED#(13(/! Data Source=.:;DATOS;ta<e=as;A)untes;8OO;8rogra as;/>(? #ases de datos;#D;#DAlu nos(accdb"! Cone"ion = ne$ OleDbConnection%CadenaCone"ion'! // Crear la cone"in con la #D string Consulta = "SELECT * FROM TablaAlu nos"! Co ando = ne$ OleDbCo and%Consulta& Cone"ion'! // Declaracin de la consulta // Declaracin del co ando de consulta en la cone"in con la #D
Cone"ion(O)en%'! // Abrir la #D Lector = Co ando(E"ecuteReader%'! // E*ecutar el co ando lector de datos $+ile %Lector(Read%'' , Console(-riteLine%Lector(.etString%/' 0 " " 0 Lector(.etString%1'0" "0Lector(.et2alue%3'(ToString%''! 4 Lector(Close%'! // Cerrar el lector de datos Lector = null! 4 )ublic 5oid CerrarCone"ion%' , // 2eri9ica si est@ acti5a la lectura i9 %Lector A= null' Lector(Close%'! // 2eri9ica si est@ abierta la cone"in con la #D i9 %Cone"ion A= null' Cone"ion(Close%'! 4 4
19
26/02/2013
El ada'tador de datos
&on.unto de o/.etos usado para intercam/iar datos entre una "D y un con.unto de datos 2Data4et3. #ee datos de una "D y )os co)oca en un Data4et para manipu)ar)os. -scri/e en )a "D )os datos modi+icados de) Data4et OleDbDataAdapter.F Datos compati/)es con O)eD/ OdbcDataAdapter.F Datos compati/)es con Od/c SqlDataAdapter.F Datos compati/)es con 47# 4er(er OracleDataAdapter.F Datos compati/)es con Orac)e 4e crea un adaptador por cada ta/)a e*istente en )a "D
DataAdapter
Fuente de datos
DataTable Leer
DataAdapter
Actualizar
20
26/02/2013
Ada'tador de datos
Servidor
Datos
21
26/02/2013
0ctua)izar )a "D
dataAdapter.Update(dataSet);
22
26/02/2013
23
26/02/2013
,ideos .D e$ &3
&onectar &P y una /ase de datos tutoria) 2http://'''.youtu/e.com/'atchG(HQPhLLoRschM3 &onectando &P con 0ccess 2http://'''.youtu/e.com/'atchG(H,KHD<dnTBn'J+eatureHr e)ated3 &one*in 0ccessFQisua) 4tudio &P 2http://'''.youtu/e.com/'atchG(H&),LI4hhTD-J+eatureHre) ated3 &P and Microso+t 0ccess Data/ase F Part B 2http://'''.youtu/e.com/'atchG(Hso)rzatPmP0J+eatureHre)at ed3 &P and Microso+t 0ccess Data/ase F Part > 2http://'''.youtu/e.com/'atchG(Hc&zStQ<cTC7J+eatureHre) m+u3
1e/ere$cias bibliogr4/icas
http://mara(i))osomundode)ain+ormatica./)o!spot.m* />=B=/=U/accesoFdatosFconFadonet.htm) http://'''.codepro.ect.com/0rtic)es/ST<</6sin!F 0DOF,-TF+orF/e!inners http://'''.+ree'e/s.com/+ree(/dotnet/resources/M4 D,V>=Trainin!V>=FV>=04P.,-TV>=F V>=Modu)eV>=CW6sin!V>=Microso+tV>=0DO.,-TV >=toV>=0ccessV>=Data.pd+ http://'''.so+t'areresearch.net/+i)eadmin/src/docs/ teachin!/K4=T/Prod/=U.0DO.,-T.pd+
24