Dataset_CSharp_esp

download Dataset_CSharp_esp

of 43

Transcript of Dataset_CSharp_esp

  • 8/14/2019 Dataset_CSharp_esp

    1/43

    Web ProgramingWeb Programing

    Ing. Alberto MorenoIng. Alberto Moreno

  • 8/14/2019 Dataset_CSharp_esp

    2/43

    ObjetivoObjetivo

    Mostrar las novedades en elMostrar las novedades en eldesarrollo Web con el ASP.NETdesarrollo Web con el ASP.NET

    2.0, el acceso a bases de datos y2.0, el acceso a bases de datos yel lenguaje C#el lenguaje C#

  • 8/14/2019 Dataset_CSharp_esp

    3/43

    Web ProgramingWeb Programing

    ASP.NET 2.0 implementa diversasASP.NET 2.0 implementa diversas

    funcionalidades para el desarrolladorfuncionalidades para el desarrolladorcomo productividad, administracin ycomo productividad, administracin ygestin, extensibilidad y desempeogestin, extensibilidad y desempeo

  • 8/14/2019 Dataset_CSharp_esp

    4/43

    ProductividadProductividad

    Nuevos controles de servidorNuevos controles de servidor

    Master PagesMaster Pages

    Themes y SkinsThemes y SkinsSoporte para dispositivos mvilesSoporte para dispositivos mviles

  • 8/14/2019 Dataset_CSharp_esp

    5/43

    Nuevos controles deNuevos controles de

    servidorservidor

    Controles de DatosControles de Datos

    Controles de NavegacinControles de Navegacin

    Controles de LoginControles de LoginControles de Web PartsControles de Web Parts

  • 8/14/2019 Dataset_CSharp_esp

    6/43

    Administracin y GestinAdministracin y Gestin

    API de ConfiguracinAPI de Configuracin

    HerramientaHerramienta de Admin MMCde Admin MMC

    Herramienta de pre-compilacinHerramienta de pre-compilacinTracing y MonitoreoTracing y Monitoreo

  • 8/14/2019 Dataset_CSharp_esp

    7/43

  • 8/14/2019 Dataset_CSharp_esp

    8/43

    cceso a ases ecceso a ases eDatosDatos

    Recursos:Recursos:Clasificacin, paginacin y cache deClasificacin, paginacin y cache de

    datosdatos

    Actualizacin, eliminacin e insercinActualizacin, eliminacin e insercinde datosde datos

    Filtros, Master-DetailFiltros, Master-Detail

  • 8/14/2019 Dataset_CSharp_esp

    9/43

    cceso a ases ecceso a ases eDatosDatos

    Controles Data Source:Controles Data Source:SqlDataSourceSqlDataSource

    ObjectDataSourceObjectDataSource

    AccessDataSourceAccessDataSource

    SiteMapDataSourceSiteMapDataSource

    XmlDataSourceXmlDataSource

    DataSetDataSourceDataSetDataSource

  • 8/14/2019 Dataset_CSharp_esp

    10/43

    ProvidersProviders

  • 8/14/2019 Dataset_CSharp_esp

    11/43

    ProvidersProviders

    P

  • 8/14/2019 Dataset_CSharp_esp

    12/43

    Prov errov erss

    P

  • 8/14/2019 Dataset_CSharp_esp

    13/43

    Prov errov erss

    D t S t t /t t t

  • 8/14/2019 Dataset_CSharp_esp

    14/43

    DataSet t pa o /ata et t pa oTableAdapterTableAdapter

  • 8/14/2019 Dataset_CSharp_esp

    15/43

    Acceso a Bases deAcceso a Bases deDatosDatos

    Controles Data-bound:Controles Data-bound:GridViewGridView

    DetailsViewDetailsView

    FormViewFormView

    TreeViewTreeView

    MenuMenu

  • 8/14/2019 Dataset_CSharp_esp

    16/43

    GridViewGridView

  • 8/14/2019 Dataset_CSharp_esp

    17/43

    GridViewGridView

  • 8/14/2019 Dataset_CSharp_esp

    18/43

    GridViewGridView

    DeleteCommand="DELETE FROM [Products] WHERE [ProductID] ...">

  • 8/14/2019 Dataset_CSharp_esp

    19/43

    DetailsViewDetailsView

  • 8/14/2019 Dataset_CSharp_esp

    20/43

    DetailsViewDetailsView

  • 8/14/2019 Dataset_CSharp_esp

    21/43

    DetailsViewDetailsView

    D il Vi

  • 8/14/2019 Dataset_CSharp_esp

    22/43

    DetailsVieDetailsVieww

  • 8/14/2019 Dataset_CSharp_esp

    23/43

    Data SourceData Source

    diEdit / I t / N /

  • 8/14/2019 Dataset_CSharp_esp

    24/43

    Edit / Insert / New /Edit / Insert / New /UpdateUpdate

  • 8/14/2019 Dataset_CSharp_esp

    25/43

    DetailsViewDetailsView

    AllowPaging="True">

    ......

  • 8/14/2019 Dataset_CSharp_esp

    26/43

    DetailsViewDetailsView

    UpdateCommand="UpdateCommand="UPDATEUPDATE [Employees] SET [LastName] = @LastName ... AND[Employees] SET [LastName] = @LastName ... AND

    [Photo] = @original_Photo"[Photo] = @original_Photo"ConnectionStringConnectionString="">="">

    ......

    ......

    ......

  • 8/14/2019 Dataset_CSharp_esp

    27/43

    FormViewFormView

  • 8/14/2019 Dataset_CSharp_esp

    28/43

  • 8/14/2019 Dataset_CSharp_esp

    29/43

    DataListDataList

  • 8/14/2019 Dataset_CSharp_esp

    30/43

  • 8/14/2019 Dataset_CSharp_esp

    31/43

    Objetos de NegocioObjetos de Negociousing System.Data;using System.Data;using System.Data.SqlClient;using System.Data.SqlClient;

    public class DataAccesspublic class DataAccess{{

    public staticpublic static DataSet GetCategoriesDataSet GetCategories()()

    {{stringstring conexaoconexao = "Database=northwind;server=(local);user id=sa ";= "Database=northwind;server=(local);user id=sa ";stringstring sqlsql = "SELECT * FROM Categories";= "SELECT * FROM Categories";SqlConnection conn = new SqlConnection(conexao);SqlConnection conn = new SqlConnection(conexao);SqlCommand command = newSqlCommand command = new SqlCommandSqlCommand(sql, conn);(sql, conn);

    SqlDataAdapter adapter = newSqlDataAdapter adapter = new SqlDataAdapterSqlDataAdapter(command);(command);DataSet ds = newDataSet ds = new DataSetDataSet();();adapter.Fill(ds);adapter.Fill(ds);returnreturn dsds;;

    }}

    }}

  • 8/14/2019 Dataset_CSharp_esp

    32/43

    Objetos de NegocioObjetos de Negocio

    public staticpublic static DataSet GetProducts(int cat)DataSet GetProducts(int cat){{

    string conexao = "Database=northwind;server=(local);user id=sa";string conexao = "Database=northwind;server=(local);user id=sa";SqlConnection conn = new SqlConnection(conexao);SqlConnection conn = new SqlConnection(conexao);SqlCommand command = new SqlCommand();SqlCommand command = new SqlCommand();

    command.Connection = conn;command.Connection = conn;command.CommandType = CommandType.Text;command.CommandType = CommandType.Text;command.command.Parameters.AddParameters.Add(new SqlParameter(new SqlParameter("@cat", cat)("@cat", cat)););command.CommandText = "SELECT ProductID, ProductName, UnitPrice,command.CommandText = "SELECT ProductID, ProductName, UnitPrice,

    UnitsInStock FROM Products WHEREUnitsInStock FROM Products WHERE categoryID=@catcategoryID=@cat";";SqlDataAdapter adapter = new SqlDataAdapter(command);SqlDataAdapter adapter = new SqlDataAdapter(command);DataSet ds = newDataSet ds = new DataSetDataSet();();adapter.Fill(ds);adapter.Fill(ds);returnreturn dsds;;

    }}

    D d + G idVi +Dropdo n + GridVie +

  • 8/14/2019 Dataset_CSharp_esp

    33/43

    Dropdown + GridView +Dropdown + GridView +DLLDLL

    rop own + r ew +rop own + r ew +

  • 8/14/2019 Dataset_CSharp_esp

    34/43

    rop own + r ew +rop own + r ew +DLLDLL

  • 8/14/2019 Dataset_CSharp_esp

    35/43

    TreeView + XMLTreeView + XML

    asp.netasp.net

    dino espositodino esposito

    ms pressms press

    sql reporting servicessql reporting servicestom cruisetom cruise

    ms pressms press

  • 8/14/2019 Dataset_CSharp_esp

    36/43

    TreeViewTreeView

    const string conexao = "Server=localhost;Database=Northwind;user id=sa";const string conexao = "Server=localhost;Database=Northwind;user id=sa";void Page_Load()void Page_Load(){{

    if (! Page.IsPostBack)if (! Page.IsPostBack)

    FillNodesFillNodes();();}}

    voidvoid FillNodesFillNodes()(){{

    DataSet dst =DataSet dst = GetDataGetData();();foreachforeach (DataRow masterRow in(DataRow masterRow in dst.Tables["Categories"].Rowsdst.Tables["Categories"].Rows))

    {{

    TreeNode masterNode = new TreeNode((string)masterRow["CategoryName"]);TreeNode masterNode = new TreeNode((string)masterRow["CategoryName"]);TreeView1.Nodes.Add(masterNode);TreeView1.Nodes.Add(masterNode);

    foreachforeach (DataRow childRow in(DataRow childRow in masterRow.GetChildRows("Children"))masterRow.GetChildRows("Children")){{

    TreeNode childNode = new TreeNode((string)childRow["ProductName"]);TreeNode childNode = new TreeNode((string)childRow["ProductName"]);

    masterNode.ChildNodes.Add(childNode);masterNode.ChildNodes.Add(childNode);}}

    }}}}

  • 8/14/2019 Dataset_CSharp_esp

    37/43

    TreeViewTreeViewDataSet GetData()DataSet GetData()

    {{SqlConnection conn = new SqlConnection(conexao);SqlConnection conn = new SqlConnection(conexao);

    stringstring sqlCatsqlCat = "Select CategoryID, CategoryName FROM Categories";= "Select CategoryID, CategoryName FROM Categories";

    stringstring sqlProdsqlProd = "Select CategoryID, ProductName FROM Products";= "Select CategoryID, ProductName FROM Products";

    SqlDataAdapter daCat = newSqlDataAdapter daCat = new SqlDataAdapter(sqlCatSqlDataAdapter(sqlCat, conn);, conn);

    SqlDataAdapter daProd = newSqlDataAdapter daProd = new SqlDataAdapter(sqlProdSqlDataAdapter(sqlProd, conn);, conn);

    DataSetDataSet ds = new DataSet();ds = new DataSet();daCat.daCat.FillFill(ds, "Categories");(ds, "Categories");

    daProd.daProd.FillFill(ds, "Products");(ds, "Products");

    ds.Relations.Add("Children",ds.Relations.Add("Children",

    ds.Tables["Categories"].Columns["ds.Tables["Categories"].Columns["CategoryIDCategoryID"],"],

    ds.Tables["Products"].Columns["ds.Tables["Products"].Columns["CategoryIDCategoryID"]);"]);

    return ds;return ds;}}

  • 8/14/2019 Dataset_CSharp_esp

    38/43

    string conexao = "Database=northwind;server=(local);user id=sa";string conexao = "Database=northwind;server=(local);user id=sa";

    void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e)void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e)

    {{SqlConnection con = new SqlConnection(conexao);SqlConnection con = new SqlConnection(conexao);

    string sql = "SELECT EmployeeID, FirstName FROM Employees";string sql = "SELECT EmployeeID, FirstName FROM Employees";

    SqlCommand cmd = newSqlCommand cmd = new SqlCommandSqlCommand(sql, con);(sql, con);

    con.Open();con.Open();

    using (con)using (con)

    {{

    SqlDataReaderSqlDataReaderreader = cmd.ExecuteReader();reader = cmd.ExecuteReader();

    while (reader.Read())while (reader.Read())

    {{

    TreeNode newNode = new TreeNode();TreeNode newNode = new TreeNode();

    newNode.PopulateOnDemand = true;newNode.PopulateOnDemand = true;

    newNode.Text = reader["FirstName"].ToString();newNode.Text = reader["FirstName"].ToString();

    newNode.Value = reader["EmployeeID"].ToString();newNode.Value = reader["EmployeeID"].ToString();

    e.Node.ChildNodes.Add(newNode);e.Node.ChildNodes.Add(newNode);

    }}

    }}

    }}

    TreeViewTreeView

  • 8/14/2019 Dataset_CSharp_esp

    39/43

    Visual C# 2005Visual C# 2005

  • 8/14/2019 Dataset_CSharp_esp

    40/43

    Visual C# 2005Visual C# 2005

  • 8/14/2019 Dataset_CSharp_esp

    41/43

  • 8/14/2019 Dataset_CSharp_esp

    42/43

    Visual C# 2005Visual C# 2005

  • 8/14/2019 Dataset_CSharp_esp

    43/43

    Visual C# 2005Visual C# 2005