Ing. Eric Huiza Pereyra .Net Senior Developer QUADREM www.quadrem.com
<ul><li>.Net Data Provider. </li></ul><ul><li>SQL Server .Net Data Provider. </li></ul><ul><li>Microsoft Application Data ...
<ul><li>Conjunto de clases que permiten trabajar con fuentes de datos como SQL Server, Oracle, Excel, Archivos de texto, e...
<ul><li>Conexión. </li></ul><ul><li>Transacción. </li></ul><ul><li>Comando. </li></ul><ul><li>Parámetro. </li></ul><ul><li...
<ul><li>Los proveedores de datos trabajan con clases de soporte como son. </li></ul><ul><ul><li>DataSet. </li></ul></ul><u...
<ul><li>El .Net Framework implementa algunos proveedores de datos que permiten trabajar con la mayoría de fuentes de datos...
<ul><li>Es una implementación de un proveedor de datos .Net especializada para trabajar con SQL Server. El cual esta compu...
<ul><li>SqlConnection. </li></ul><ul><li>using  (SqlConnection conn =  </li></ul><ul><li>new SqlConnection(@&quot;Data Sou...
<ul><li>SqlCommand. </li></ul><ul><li>using  (SqlConnection conn = new SqlConnection( </li></ul><ul><li>@&quot;Data Source...
<ul><li>SqlDataAdapter. </li></ul><ul><li>using  (SqlConnection conn = new SqlConnection( </li></ul><ul><li>@&quot;Data So...
<ul><li>SqlParameter. </li></ul><ul><li>using  (SqlConnection conn = new SqlConnection </li></ul><ul><li>(@&quot;Data Sour...
<ul><li>SqlTransaction. </li></ul><ul><li>using  (SqlConnection conn = new SqlConnection( </li></ul><ul><li>@&quot;Data So...
<ul><li>Implementación de buenas practicas en el manejo de proveedores de datos. </li></ul><ul><li>Uso de patrones de desa...
Upcoming SlideShare
Loading in...5
×

Microsoft Ado

1,157

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,157
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Microsoft Ado

  1. 1. Ing. Eric Huiza Pereyra .Net Senior Developer QUADREM www.quadrem.com
  2. 2. <ul><li>.Net Data Provider. </li></ul><ul><li>SQL Server .Net Data Provider. </li></ul><ul><li>Microsoft Application Data Access Block. </li></ul>
  3. 3. <ul><li>Conjunto de clases que permiten trabajar con fuentes de datos como SQL Server, Oracle, Excel, Archivos de texto, etc. </li></ul><ul><li>Tienen una arquitectura bien definida que consta de un conjunto de clases base e interfaces. </li></ul>
  4. 4. <ul><li>Conexión. </li></ul><ul><li>Transacción. </li></ul><ul><li>Comando. </li></ul><ul><li>Parámetro. </li></ul><ul><li>Lector de datos. </li></ul><ul><li>Adaptador de datos. </li></ul>
  5. 5. <ul><li>Los proveedores de datos trabajan con clases de soporte como son. </li></ul><ul><ul><li>DataSet. </li></ul></ul><ul><ul><li>DataTable. </li></ul></ul><ul><ul><li>DataView. </li></ul></ul><ul><ul><li>DataRelation. </li></ul></ul>
  6. 6. <ul><li>El .Net Framework implementa algunos proveedores de datos que permiten trabajar con la mayoría de fuentes de datos. </li></ul><ul><ul><li>SQL Server .Net Data Provider. </li></ul></ul><ul><ul><li>Oracle Server .Net Data Provider. </li></ul></ul><ul><ul><li>OleDb .Net Data Provider. </li></ul></ul><ul><ul><li>ODBC .Net Data Provider. </li></ul></ul><ul><ul><li>SQL Server CE .Net Data Provider. </li></ul></ul>
  7. 7. <ul><li>Es una implementación de un proveedor de datos .Net especializada para trabajar con SQL Server. El cual esta compuesto por las siguientes clases. </li></ul><ul><li>Esta compuesto por las siguientes clases. </li></ul><ul><ul><li>SqlConnection. </li></ul></ul><ul><ul><li>SqlCommand. </li></ul></ul><ul><ul><li>SqlDataAdapter. </li></ul></ul><ul><ul><li>SqlParameter. </li></ul></ul><ul><ul><li>SqlTransaction. </li></ul></ul>
  8. 8. <ul><li>SqlConnection. </li></ul><ul><li>using (SqlConnection conn = </li></ul><ul><li>new SqlConnection(@&quot;Data Source=.SQL2005;” + </li></ul><ul><li>“ Initial Catalog=AdventureWorks;User Id=sa;Pwd=P@ssw0rd&quot;)) </li></ul><ul><li>{ </li></ul><ul><li>try </li></ul><ul><li>{ </li></ul><ul><li>conn.Open(); </li></ul><ul><li>MessageBox.Show(&quot;The connection was successful.&quot;); </li></ul><ul><li>} </li></ul><ul><li>catch (Exception) </li></ul><ul><li>{ </li></ul><ul><li>MessageBox.Show(&quot;The connection couln't be established.&quot;); </li></ul><ul><li>} </li></ul><ul><li>finally </li></ul><ul><li>{ </li></ul><ul><li>if (conn.State != ConnectionState.Closed) </li></ul><ul><li>conn.Close(); </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  9. 9. <ul><li>SqlCommand. </li></ul><ul><li>using (SqlConnection conn = new SqlConnection( </li></ul><ul><li>@&quot;Data Source=.SQL2005;Initial Catalog=AdventureWorks;User Id=sa;Pwd=P@ssw0rd&quot;)) </li></ul><ul><li>{ </li></ul><ul><li>try </li></ul><ul><li>{ </li></ul><ul><li>SqlCommand cmd = conn.CreateCommand(); </li></ul><ul><li>cmd.CommandType = CommandType.Text; </li></ul><ul><li>cmd.CommandText = </li></ul><ul><li>&quot;SELECT C.LastName, C.FirstName, D.Name, D.GroupName, RANK() OVER (PARTITION BY D.GroupName ORDER BY D.Name) AS RANK &quot; + </li></ul><ul><li>&quot;FROM HumanResources.Employee AS E &quot; + </li></ul><ul><li>&quot;INNER JOIN HumanResources.EmployeeDepartmentHistory AS DH ON DH.EmployeeID = E.EmployeeID AND DH.EndDate IS NULL &quot; + </li></ul><ul><li>&quot;INNER JOIN HumanResources.Department AS D ON D.DepartmentID = DH.DepartmentID &quot; + </li></ul><ul><li>&quot;INNER JOIN Person.Contact AS C ON C.ContactID = E.ContactID &quot;; </li></ul><ul><li>conn.Open(); </li></ul><ul><li>SqlDataReader reader = cmd.ExecuteReader(); </li></ul><ul><li>DataTable dtEmployee = new DataTable(); </li></ul><ul><li>dtEmployee.Load(reader); </li></ul><ul><li>reader.Close(); </li></ul><ul><li>dgEmployee.DataSource = dtEmployee; </li></ul><ul><li>} </li></ul><ul><li>catch (Exception ex) </li></ul><ul><li>{ </li></ul><ul><li>MessageBox.Show(ex.ToString()); </li></ul><ul><li>} </li></ul><ul><li>finally </li></ul><ul><li>{ </li></ul><ul><li>if (conn.State != ConnectionState.Closed) </li></ul><ul><li>conn.Close(); </li></ul><ul><li>} </li></ul>
  10. 10. <ul><li>SqlDataAdapter. </li></ul><ul><li>using (SqlConnection conn = new SqlConnection( </li></ul><ul><li>@&quot;Data Source=.SQL2005;Initial Catalog=AdventureWorks;User Id=sa;Pwd=P@ssw0rd&quot;)) </li></ul><ul><li>{ </li></ul><ul><li>try </li></ul><ul><li>{ </li></ul><ul><li>SqlCommand cmd = conn.CreateCommand(); </li></ul><ul><li>cmd.CommandType = CommandType.Text; </li></ul><ul><li>cmd.CommandText = </li></ul><ul><li>&quot;SELECT C.LastName, C.FirstName, D.Name, D.GroupName, RANK() OVER (PARTITION BY D.GroupName ORDER BY D.Name) AS RANK &quot; + </li></ul><ul><li>&quot;FROM HumanResources.Employee AS E &quot; + </li></ul><ul><li>&quot;INNER JOIN HumanResources.EmployeeDepartmentHistory AS DH ON DH.EmployeeID = E.EmployeeID AND DH.EndDate IS NULL &quot; + </li></ul><ul><li>&quot;INNER JOIN HumanResources.Department AS D ON D.DepartmentID = DH.DepartmentID &quot; + </li></ul><ul><li>&quot;INNER JOIN Person.Contact AS C ON C.ContactID = E.ContactID &quot;; </li></ul><ul><li>SqlDataAdapter adp = new SqlDataAdapter(); </li></ul><ul><li>adp.SelectCommand = cmd; </li></ul><ul><li>DataTable dtEmployee = new DataTable(); </li></ul><ul><li>adp.Fill(dtEmployee); </li></ul><ul><li>dgEmployee.DataSource = dtEmployee; </li></ul><ul><li>} </li></ul><ul><li>catch (Exception ex) </li></ul><ul><li>{ </li></ul><ul><li>MessageBox.Show(ex.ToString()); </li></ul><ul><li>} </li></ul><ul><li>finally </li></ul><ul><li>{ </li></ul><ul><li>if (conn.State != ConnectionState.Closed) </li></ul><ul><li>conn.Close(); </li></ul><ul><li>} </li></ul>
  11. 11. <ul><li>SqlParameter. </li></ul><ul><li>using (SqlConnection conn = new SqlConnection </li></ul><ul><li>(@&quot;Data Source=.SQL2005;Initial Catalog=AdventureWorks;User Id=sa;Pwd=P@ssw0rd&quot;)) </li></ul><ul><li>{ </li></ul><ul><li>try </li></ul><ul><li>{ </li></ul><ul><li>SqlCommand cmd = conn.CreateCommand(); </li></ul><ul><li>cmd.CommandType = CommandType.StoredProcedure; </li></ul><ul><li>cmd.CommandText = &quot;uspGetWhereUsedProductID&quot;; </li></ul><ul><li>cmd.Parameters.Add </li></ul><ul><li>(new SqlParameter(&quot;@StartProductID&quot;, int.Parse(txtProductID.Text))); </li></ul><ul><li>cmd.Parameters.Add </li></ul><ul><li>(new SqlParameter(&quot;@CheckDate&quot;, dtpCheckDate.Value)); </li></ul><ul><li>SqlDataAdapter adp = new SqlDataAdapter(); </li></ul><ul><li>adp.SelectCommand = cmd; </li></ul><ul><li>DataTable dtProducts = new DataTable(); </li></ul><ul><li>adp.Fill(dtProducts); </li></ul><ul><li>dgProducts.DataSource = dtProducts; </li></ul><ul><li>} </li></ul><ul><li>catch (Exception ex) </li></ul><ul><li>{ </li></ul><ul><li>MessageBox.Show(ex.ToString()); </li></ul><ul><li>} </li></ul><ul><li>finally </li></ul><ul><li>{ </li></ul><ul><li>if (conn.State != ConnectionState.Closed) </li></ul><ul><li>conn.Close(); </li></ul><ul><li>} </li></ul>
  12. 12. <ul><li>SqlTransaction. </li></ul><ul><li>using (SqlConnection conn = new SqlConnection( </li></ul><ul><li>@&quot;Data Source=.SQL2005;Initial Catalog=AdventureWorks;User Id=sa;Pwd=P@ssw0rd&quot;)) </li></ul><ul><li>{ </li></ul><ul><li>SqlTransaction dbTran = null; </li></ul><ul><li>try </li></ul><ul><li>{ </li></ul><ul><li>SqlCommand cmd = conn.CreateCommand(); </li></ul><ul><li>cmd.CommandType = CommandType.Text; </li></ul><ul><li>cmd.CommandText = &quot;DELETE FROM DatabaseLog WHERE Event = 'CREATE_TABLE'&quot;; </li></ul><ul><li>conn.Open(); </li></ul><ul><li>dbTran = conn.BeginTransaction(); </li></ul><ul><li>cmd.Transaction = dbTran; </li></ul><ul><li>cmd.ExecuteNonQuery(); </li></ul><ul><li>dbTran.Commit(); </li></ul><ul><li>} </li></ul><ul><li>catch (Exception ex) </li></ul><ul><li>{ </li></ul><ul><li>if (dbTran != null) </li></ul><ul><li>dbTran.Rollback(); </li></ul><ul><li>MessageBox.Show(ex.ToString()); </li></ul><ul><li>} </li></ul><ul><li>finally </li></ul><ul><li>{ </li></ul><ul><li>if (conn.State != ConnectionState.Closed) </li></ul><ul><li>conn.Close(); </li></ul><ul><li>} </li></ul>
  13. 13. <ul><li>Implementación de buenas practicas en el manejo de proveedores de datos. </li></ul><ul><li>Uso de patrones de desarrollo de software. </li></ul><ul><li>Parte fundamental de desarrollo escalable de aplicaciones empresariales. </li></ul>

×