SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
Chương 7

     ADO.NET - II
Mục tiêu
    Hiểu kết buộc dữ liệu
    Repeater control
    DataList control
    Cập nhật dữ liệu qua form
    Làm việc với dữ liệu XML
Data Binding (kết buộc dữ liệu)
    Kết buộc dữ liệu là tiến trình liên kết dữ liệu lấy được vào
     điều khiển để hiển thị
    Dữ liệu có thể kết buộc đến tất cả các điều khiển dùng
     biểu thức kết buộc dữ liệu được đặt giữa thể <%#......%>
    Dữ liệu được kết buộc đến điều khiển bất cứ lúc nào
     phương thức DataBind() được gọi
    Kết buộc dữ liệu có thể thực hiện trên các kiểu dữ liệu
     khác nhau như:
        Các thuộc tính
        Collections
        Biểu thức
        Kết quả của lời gọi hàm
Thuộc tính
ASP.NET cho phép các nhà phát triển kết buộc dữ liệu đến các biến public, thuộc
tính của trang hay thậm chí thuộc tính của các điều khiển khác

  <html>
  <title>DataBinding </title>
         <script language="C#" runat="server">
         void Page_Load(Object sender, EventArgs e)
         {
                Page.DataBind();
         }
         </script>
         <form runat=server>
            <center><b><u> DataBinding</center></b></u><br>
            Enter a string and press tab
            <br><br>
Thuộc tính
<asp:textbox id = "txtControl" AutoPostback="true" runat=
"server" /><br> <br>
              <asp:label id = "lblControl" text = <
%#txtControl.Text%> runat = "server" /><br><br>
       </form>
</html>
Biểu thức và phương thức
<%@ Import Namespace="System.Data" %>
<html>
<title>DataBinding Expressions</title>
       <script language="C#" runat="server">
       void Page_Load(Object Sender, EventArgs E)
       {
          Response.Write("<center><b><u>DataBinding
Expressions</center></b></u><br>");
          if(!IsPostBack)
          {
              DataTable mydt = new DataTable();
              DataRow mydr;
              mydt.Columns.Add(new DataColumn ("Numbers",
typeof(Int32)));
Biểu thức và phương thức
     for (int i=0;i<=5;i++)
     {
            mydr = mydt.NewRow();
            mydr[0] = i;
            mydt.Rows.Add(mydr);
     }
            dlMyList.DataSource = mydt;
            dlMyList.DataBind();
       }
    }
    int Square(int num)
{
    int ans = num* num;
    return ans;
}
Biểu thức và phương thức
   int Cube(int num)
      {
       int ans = num*num*num;
       return ans;
      }
   </script>
   <form runat=server>
   <asp:DataList id = "dlMyList" runat = "server">
   <ItemTemplate>
       Number : <%# ((DataRowView)Container.DataItem)
["Numbers"] %>
       Square : <%# Square ((int) ((DataRowView)
Container.DataItem) ["Numbers"]) %>
       Cube : <%# Cube ((int) ((DataRowView)
Container.DataItem) ["Numbers"]) %>
Biểu thức và phương thức
</ItemTemplate>
       </asp:DataList>
       </form>
</html>
Phương thức DataBinder.Eval()
Phương thức này dùng để đánh giá biểu thức kết buộc dữ liệu ở thời
gian thực thi và định dạng kết xuất được hiển thị trên trình duyệt.
    A
    r           Tên chứa mục dữ liệu
    g
    u
    m           Tên trường
    e
    n
    t           Định dạng chuỗi
    s

 Example:
 <%# DataBinder.Eval(Container.DataItem,"max_lvl","{0:c}") %>
Repeater
Là một container control, dùng để hiển thị danh sách các dữ liệu theo một mẫu
định dạng nào đó cho từng mục dữ liệu.
Mẫu định dạng (template) là một tập các phần tử HTML hay các điều khiển
dùng để định dạng hiển thị của điều khiển

          T                ItemTemplate
          e
          m                AlternatingItemTemplate
          p
          l                HeaderTemplate
          a
          t                FooterTemplate
          e
          s                SeparatorTemplate
Repeater Ví dụ
<%@ Import Namespace="System.Data" %>
<html>
   <title>Repeater Control</title>
   <head>
       <script language="C#" runat="server">
       void Page_Load(Object Sender, EventArgs e)
       {
          Response.Write("<center><b><u>Repeater</center>
          </b></u><br>");
         if (!IsPostBack)
         {
              DataTable mydt = new DataTable();
              DataRow mydr;
              mydt.Columns.Add(new DataColumn ("Numbers",
typeof(Int32)));
Repeater Ví dụ
       mydt.Columns.Add(new DataColumn ("Squares",
typeof(Int32)));
       mydt.Columns.Add(new DataColumn ("Cubes",
typeof(Int32)));
       for (int i=0;i<=2;i++)
       {
              mydr = mydt.NewRow();
              mydr[0] = i;
              mydr[1] = i*i;
              mydr[2] = i*i*i;
              mydt.Rows.Add(mydr);
       }
       Repeater1.DataSource = mydt;
       Repeater1.DataBind();
       Repeater2.DataSource = mydt;
       Repeater2.DataBind();
Repeater Ví dụ
    }
}
    </script>
    </head>
    <body>
    <form runat=server>
    <b>Repeater1:</b>
    <p>
    <asp:Repeater id=Repeater1 runat="server">
    <HeaderTemplate>
    <table border=1>
    <tr>
      <td><b>Number</b></td>
      <td><b>Square</b></td>
      <td><b>Cube</b></td>
    </tr>
Repeater Ví dụ
   </HeaderTemplate>
    <ItemTemplate>
    <tr>
       <td> <%# DataBinder.Eval (Container.DataItem,
"Numbers") %> </td>
       <td> <%# DataBinder.Eval (Container.DataItem,
"Squares") %> </td>
       <td> <%# DataBinder.Eval(Container.DataItem, "Cubes")
%> </td>
    </tr>
    </ItemTemplate>
    <FooterTemplate>
    </table>
    </FooterTemplate>
    </asp:Repeater>
    <p>
Repeater Ví dụ
      <b>Repeater2:</b>
      <p>
      <asp:Repeater id=Repeater2 runat="server">
      <HeaderTemplate>
           Number (Square) [Cube] :
      </HeaderTemplate>
      <ItemTemplate>
          <%# DataBinder.Eval(Container.DataItem, "Numbers")
%>
          (<%# DataBinder.Eval(Container.DataItem,
"Squares") %>)
          [<%# DataBinder.Eval(Container.DataItem, "Cubes")
%>]
       </ItemTemplate>
       <SeparatorTemplate>, </SeparatorTemplate>
       </asp:Repeater>
Repeater Output
       </form>
    </body>
</html>
DataList
Cho phép người dùng chỉ ra luồng dữ liệu

                  ItemTemplate

    T             AlternatingItemTemplate
    e
    m             SelectedItemTemplate
    p
                  EditItemTemplate
    l
    a             HeaderTemplate
    t
    e             FooterTemplate
    s
                  SeparatorTemplate
DataList – Ví dụ
<%@ Import Namespace="System.Data" %>
<html>
   <title>DataList Control</title>
   <head>
     <script language="C#" runat="server">
       void Page_Load(Object Sender, EventArgs e)
       {
           Response.Write("<center><b><u>Data List with
Alternating Columns</center></b></u><br>");
           if (!IsPostBack)
           {
              DataTable mydt = new DataTable();
              DataRow mydr;
              mydt.Columns.Add(new DataColumn ("Numbers",
typeof(Int32)));
DataList Ví dụ
   mydt.Columns.Add(new DataColumn("Squares",
typeof(Int32)));
     mydt.Columns.Add(new DataColumn("Cubes",typeof(Int32)));
     for (int i=0;i<30;i++)
     {
         mydr = mydt.NewRow();
         mydr[0] = i;
         mydr[1] = i*i;
         mydr[2] = i*i*i;
         mydt.Rows.Add(mydr);
     }
     dlMyList.DataSource = mydt;
     dlMyList.DataBind();
   }
 }
 </script>
DataList Ví dụ
  </head>
  <body>
  <form runat=server>
  <asp:DataList id="dlMyList" RepeatDirection="Horizontal"
RepeatColumns="10" runat="server">
  <ItemTemplate>
  <%# DataBinder.Eval(Container.DataItem, "Numbers") %><br>
  <%# DataBinder.Eval(Container.DataItem, "Squares") %><br>
  <%# DataBinder.Eval(Container.DataItem, "Cubes") %><br>
  </ItemTemplate>
  <AlternatingItemTemplate>
  <i><b><%# DataBinder.Eval(Container.DataItem, "Numbers")
%></b> <i><br>
  <i><b><%# DataBinder.Eval(Container.DataItem, "Squares")
%><b><i><br>
<i><b><%# DataBinder.Eval(Container.DataItem, "Cubes")
%><b><i><br>
DataList Kết xuất
   </AlternatingItemTemplate>
   </asp:DataList>
   </form>
 </body>
</html>
Quản lý dữ liệu trong
ASP.NET
  Insert                Update

             DATA



  Delete                Select
Chèn dữ liệu
Đ ể chèn d ữ li ệ u 1.
                    :    Nối kết CSDL
                    2. Tạo lệnh chèn trong CSDL
    Thiết lập nối kết CSDL

mySqlCon = new SqlConnection ("server=SQLDB; uid= sa; pwd
=password; database=pubs");

    Chèn dữ liệu qua đối tượng command
string myinsertCmd = "insert into publishers ( pub_id,
pub_name, city, state, country ) values (@pubid, @pubname,
@city, @state, @country)";
SqlCommand mySqlCom = new SqlCommand(myinsertCmd,
mySqlCon);
    Tạo một tham số
SqlCom.Parameters.Add(new SqlParameter("@pubid",
SqlDbType.SmallInt, 2));
Chèn dữ liệu
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
     <title>Inserting Data in a Database</title>
       <script language="C#" runat="server" Debug="true">
        SqlConnection mySqlCon;
        protected void Page_Load(Object Src, EventArgs e)
        {
           mySqlCon = new SqlConnection("server=SQLDB;uid
=sa;pwd=
password; database=pubs");
           if(!IsPostBack)
              BindGrid();
        }
Chèn dữ liệu
  public void AddPublisher(Object sender, EventArgs e)
  {
        string strInsert = "insert into publishers ( pub_id,
pub_name, city, state, country ) values (@pubid, @pubname,
@city, @state, @country)";
    SqlCommand mySqlCom = new SqlCommand(strInsert,
mySqlCon);
    mySqlCom.Parameters.Add(new SqlParameter ("@pubid",
SqlDbType.Char, 4));
    mySqlCom.Parameters ["@pubid"]. Value = txtPub_Id.Text;
    mySqlCom.Parameters.Add(new SqlParameter ("@pubname",
SqlDbType.VarChar, 40));
    mySqlCom.Parameters ["@pubname"]. Value = txtPub_Name.
Text;
    mySqlCom.Parameters.Add(new SqlParameter ("@city",
SqlDbType.VarChar, 20));
    mySqlCom.Parameters["@city"].Value = txtCity.Text;
Chèn dữ liệu
  mySqlCom.Parameters.Add(new SqlParameter("@state",
SqlDbType.Char, 2));
     mySqlCom.Parameters ["@state"]. Value = txtState.Text;
     mySqlCom.Parameters.Add(new SqlParameter ("@country",
SqlDbType.VarChar, 30));
     mySqlCom.Parameters ["@country"].Value =
txtCountry.Text;
     mySqlCom.Connection.Open();
     mySqlCom.ExecuteNonQuery();
     Message.InnerHtml = "<b>Record Added</b><br>";
     mySqlCom.Connection.Close();
     txtPub_Id.Text = "";
     txtPub_Name.Text = "";
    txtCity.Text = "";
     txtState.Text = "";
     txtCountry.Text = "";
Chèn dữ liệu
       BindGrid();
         }
         public void BindGrid()
        {
       SqlDataAdapter mySqlda = new SqlDataAdapter ("select
* from publishers where pub_id like '99%'", mySqlCon);
       DataSet myds = new DataSet();
       mySqlda.Fill (myds, "publishers");
       dbgMyGrid.DataSource = myds.Tables ["publishers"].
DefaultView;
       dbgMyGrid.DataBind();
         }
     </script>
     <form runat="server">
       <h2>Add a New Publisher:</h2>
       <br>
Chèn dữ liệu
      Publisher Id should start with 99 and contain 4
digits<br><br>
      Pubisher ID: &nbsp&nbsp&nbsp&nbsp &nbsp&nbsp&nbsp
      <asp:textbox id="txtPub_Id" runat="server"/>
      Name: &nbsp&nbsp
      <asp:textbox id="txtPub_Name" runat="server"/>
      City: &nbsp
      <asp:textbox id="txtCity" runat="server"/> <br><br>
      State: &nbsp
      <asp:textbox id="txtState" runat="server"/>
      Country: &nbsp
      <asp:textbox id="txtCountry" runat="server"/> <br>
<br>
      &nbsp &nbsp &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
      <asp:button id="btnSubmit" Text="Submit"
OnClick="AddPublisher" runat="server"/><br>
Chèn dữ liệu
       <span id="Message" MaintainState="false" style="font:
arial 11pt;" runat="server"/>
       <br>
       <asp:DataGrid id="dbgMyGrid" runat= "server"/>
     </form>
   </body>
</html>
Cập nhật dữ liệu
   Một cách để trình bày giao tiếp cho cập nhật dữ liệu là
    cung cấp một tập dữ liệu đến người dùng và cho phép
    người dùng chọn hàng để cập nhật
   DataGrid có thể được dùng để hiển thị tất cả dữ liệu
    cho người dùng, và người dùng chọn hàng để cập nhật
   Người dùng có thể chọn hàng để cập nhật dùng
    EditCommandColumn trong DataGrid
   EditCommandColumn cung cấp liên kết cho 3 sự kiện:
       Edit Command
       Update Command
       Cancel Command
Cập nhật dữ liệu
    EditCommandColumn có thể thêm vào DataGrid
     như sau:
 <asp:datagrid id="dbgMyGrid" runat="server"
 DataKeyField="pub_id"
 OnUpdateCommand="dbgMyGrid_Update"
 OnCancelCommand="dbgMyGrid_Cancel"
 OnEditCommand="dbgMyGrid_Edit">
 <Columns>
     <asp:EditCommandColumn EditText="Edit"
 CancelText="Cancel" UpdateText="Update" />
 </Columns>
 </asp:datagrid>

Sự kiện có thể được thực hiện khi người dùng chọn lệnh
trong EditCommandColumn
Cập nhật dữ liệu
    EditItemIndex dùng để xác định vị trí của hàng
     được cập nh
    Sau khi giá trị hàng được gán cho EditItemIndex,
     hàng có thể được biên tập
    Ví dụ


public void dbgMyGrid_Edit(Object sender,
DataGridCommandEventArgs e)
{
       dbgMyGrid.EditItemIndex = (int)e.Item.ItemIndex;
}
Cập nhật dữ liệu
Lấy khóa chính của hàng được chọn cập nhật

 mySqlCmd.Parameters ["@pubid"].Value = dbgMyGrid.DataKeys
 [(int)e.Item.ItemIndex];

Gán các giá trị thay đổi đến hàng qua các tham số

 mySqlCmd.Parameters ["@pubname"].Value =
 ((TextBox)e.Item.Cells[2].Controls[0]).Text;
Cập nhật dữ liệu
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Data" %>
<HTML>
   <title>Updating Data in a Database</title>
   <script language="C#" runat="server">
   SqlConnection mySqlCon;
   protected void Page_Load(Object Src, EventArgs e)
   {
       Response.Write("<center><b><u>Updating
Data</center></b></u><br>");
       mySqlCon = new SqlConnection ("server=SQLDB; uid=sa;
pwd=password;database=pubs");
       if(!IsPostBack)
              BindGrid();
   }
Cập nhật dữ liệu
public void dbgMyGrid_Edit(Object sender,
DataGridCommandEventArgs e)
   {
        dbgMyGrid.Columns[0].HeaderText="Edit";
        dbgMyGrid.EditItemIndex = (int)e.Item.ItemIndex;
        BindGrid();
     }
     public void dbgMyGrid_Cancel(Object sender,
DataGridCommandEventArgs e)
   {
        dbgMyGrid.Columns[0].HeaderText="Cancel";
        dbgMyGrid.EditItemIndex = -1;
        BindGrid();
     }
     public void dbgMyGrid_Update(Object sender,
DataGridCommandEventArgs e
Cập nhật dữ liệu
{
   dbgMyGrid.Columns[0].HeaderText="Update";
   string strUpdate = "UPDATE Publishers SET pub_id = @pubid,
pub_name = @pubname, city = @city, state = @state, country =
@country WHERE pub_id = @pubid";
    SqlCommand mySqlCmd = new SqlCommand(strUpdate,
mySqlCon);
    mySqlCmd.Parameters.Add(new SqlParameter("@pubid",
SqlDbType.Char, 4));
    mySqlCmd.Parameters.Add(new SqlParameter ("@pubname",
SqlDbType.VarChar, 40));
    mySqlCmd.Parameters.Add(new SqlParameter ("@city",
SqlDbType.VarChar, 20));
    mySqlCmd.Parameters.Add(new SqlParameter("@state",
SqlDbType.Char, 2));
    mySqlCmd.Parameters.Add(new SqlParameter("@country",
SqlDbType.VarChar, 30));
Cập nhật dữ liệu
   mySqlCmd.Parameters ["@pubid"]. Value =
dbgMyGrid.DataKeys
[(int)e.Item.ItemIndex];
      mySqlCmd.Parameters
["@pubname"].Value=((TextBox)e.Item.
Cells[2].Controls[0]).Text;
     mySqlCmd.Parameters ["@city"]. Value =
((TextBox)e.Item.
Cells[3].Controls[0]).Text;
     mySqlCmd.Parameters ["@state"].Value =
((TextBox)e.Item.
Cells[4].Controls[0]).Text;
     mySqlCmd.Parameters ["@country"].Value =
((TextBox)e.Item.
Cells[5].Controls[0]).Text;
     mySqlCon.Open();
Cập nhật dữ liệu
    try
    {
       mySqlCmd.ExecuteNonQuery();
       lblMessage.Text = "<b>Record Updated</b><br>" ;
       dbgMyGrid.EditItemIndex = -1;
    }
    catch(SqlException exc)
    {
       if (exc.Number == 2627)
              lblMessage.Text = "ERROR: A record already
exists with the same primary key";
       else
              lblMessage.Text = exc.ToString() + "ERROR:
Could not update record, please ensure the fields are
correctly filled out";
    }
Cập nhật dữ liệu
   mySqlCon.Close();
    BindGrid();
  }
  public void BindGrid()
  {
      SqlDataAdapter mySqlda = new SqlDataAdapter ("select
* from publishers", mySqlCon);
      DataSet myds = new DataSet();
      mySqlda.Fill(myds, "publishers");
      dbgMyGrid.DataSource = myds.Tables ["publishers"].
DefaultView;
      dbgMyGrid.DataBind();
  }
  </script>
  <body>
      <form id="Form1" runat="server">
Cập nhật dữ liệu
 <h4><asp:label id="lblMessage" runat="server"> </asp:label>
</h4><br>
  <ASP:Datagrid id="dbgMyGrid" runat="server"
DataKeyField="pub_id" OnUpdateCommand="dbgMyGrid_Update"
OnCancelCommand ="dbgMyGrid_Cancel" OnEditCommand=
"dbgMyGrid_Edit">
  <Columns>
      <asp:EditCommandColumn EditText="Edit" CancelText
="Cancel" UpdateText="Update" />
  </Columns>
  </ASP:Datagrid></form>
  </body>
</HTML>
Cập nhật dữ liệu
Xóa dữ liệu
   OnDeleteCommand thực hiện nhiệm vụ xóa hàng dữ
    liệu được chọn


<asp:DataGrid id="dbgMyGrid" runat="server" DataKeyField="pub_id"
OnDeleteCommand=" dbgMyGrid_Delete">
        <Columns>
               <asp:ButtonColumn Text="Delete Publisher"
CommandName
="Delete" />
        </Columns>
</asp:DataGrid>
Xóa dự liệu
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
   <title>Deleting Data in a Database</title>
   <script language="C#" runat="server" Debug="true">
   SqlConnection mySqlCon;
   protected void Page_Load(Object sender, EventArgs e)
   {
       Response.Write("<center><b><u>Deleting
Data</center></b></u><br>");
       mySqlCon = new SqlConnection ("server=SQLDB; uid =sa;
pwd =password; database=pubs");
       if (!IsPostBack)
          BindGrid();
   }
Deleting Data Example
   Contd…
     public void dbgMyGrid_Delete(Object sender,
DataGridCommandEventArgs e)
     {
       string strDelete = "DELETE from publishers where
pub_id = @pubid";
       SqlCommand mySqlCmd = new SqlCommand(strDelete,
mySqlCon);
       mySqlCmd.Parameters.Add(new SqlParameter ("@pubid",
SqlDbType.Char, 4));
       mySqlCmd.Parameters["@pubid"].Value =
dbgMyGrid.DataKeys [(int)e.Item.ItemIndex];
       mySqlCon.Open();
       try
        { mySqlCmd.ExecuteNonQuery();
           Message.InnerHtml = "<b>Record Deleted</b><br>";
        }
Cập nhật dữ liệu
     catch (SqlException)
     {
       Message.InnerHtml = "ERROR: Could not delete record";
       Message.Style ["color"] = "red";
     }
       mySqlCon.Close();
       BindGrid();
   }
   public void BindGrid()
   {
       SqlDataAdapter mySqlda = new SqlDataAdapter("select *
from publishers", mySqlCon);
       DataSet myds = new DataSet();
       mySqlda.Fill(myds, "publishers");
       dbgMyGrid.DataSource =myds.Tables ["publishers"].
DefaultView;
Cập nhật dữ liệu
   dbgMyGrid.DataBind();
   }
     </script>
  <body>
      <form runat="server" ID="Form1">
      <span id="Message" EnableViewState="false"
runat="server" /><p>
      <asp:DataGrid id="dbgMyGrid" runat="server"
DataKeyField="pub_id" OnDeleteCommand=" dbgMyGrid_Delete">
      <Columns>
         <asp:ButtonColumn Text="Delete Publisher"
CommandName="Delete" />
      </Columns>
      </asp:DataGrid>
   </form>
Cập nhật dữ liệu
  </body>
</html>
Quản lý dữ liệu XML
Schema   <rootelement xmlns=” x-
         schema:scheduledSchema.xsl”>
 1       Mở tập tin

     <rootelement xmlns = "x-schema:scheduledSchema.xsl">
     FileStream myfs = new FileStream (Server.MapPath
     ("xmldatagrid.xml") ,FileMode.Open,FileAccess.Read);

 2       Gán streamreader

     StreamReader myreader = new StreamReader(myfs);

         Đọc dữ liệu từ một streamreader
 3
     DataSet myds = new DataSet();
     myds.ReadXml(myreader);
Quản lý dữ liệu XML
 4   Kết buộc dự liệu

     DataView mySource = new DataView(myds.Tables[0]);
     DataGrid1.DataSource = mySource;
     DataGrid1.DataBind();
Ví dụ:

<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Data" %>
<html>
<title>XML Data</title>
       <script language="C#" runat="server">
       void Page_Load(Object Src, EventArgs e)
       {
       DataSet myds = new DataSet();
XML Data in a DataGrid
    FileStream myfs = new FileStream(Server.MapPath
("xmldatagrid.xml"),FileMode.Open, FileAccess.Read);
    StreamReader myreader = new StreamReader(myfs);
    myds.ReadXml(myreader);
    myfs.Close();
    DataView mySource = new DataView(myds.Tables[0]);
    lblTableName.Text = mySource.Table.TableName;
    dbgMyGrid.DataSource = mySource;
    dbgMyGrid.DataBind();
  }
 </script>
 <body>
 <h3><font face="Arial">XML Data for Table:
 <asp:label id="lblTableName" runat= "server"/></font>
 </h3>
Hiển thị dữ liệu trong DataGrid
   </h3>
   <ASP:DataGrid id="dbgMyGrid" runat="server" />
   </body>
</html>

Mais conteúdo relacionado

Mais procurados

Cach su dung databinding
Cach su dung databindingCach su dung databinding
Cach su dung databindingtruong le hung
 
04 chuong4-capnhatdulieu-140404115156-phpapp02
04 chuong4-capnhatdulieu-140404115156-phpapp0204 chuong4-capnhatdulieu-140404115156-phpapp02
04 chuong4-capnhatdulieu-140404115156-phpapp02huynhtrong774129
 
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTBài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTMasterCode.vn
 
03 chuong 3 - data sets
03   chuong 3 - data sets03   chuong 3 - data sets
03 chuong 3 - data setstruong le hung
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...MasterCode.vn
 
04 chuong 4 - cap nhat du lieu
04   chuong 4 - cap nhat du lieu04   chuong 4 - cap nhat du lieu
04 chuong 4 - cap nhat du lieutruong le hung
 
04 chuong 4 - sap xep, tim kiem, loc du lieu
04   chuong 4 - sap xep, tim kiem, loc du lieu04   chuong 4 - sap xep, tim kiem, loc du lieu
04 chuong 4 - sap xep, tim kiem, loc du lieutruong le hung
 
5.cach su dung data reader
5.cach su dung data reader5.cach su dung data reader
5.cach su dung data readerDao Uit
 

Mais procurados (11)

Cach su dung databinding
Cach su dung databindingCach su dung databinding
Cach su dung databinding
 
04 chuong4-capnhatdulieu-140404115156-phpapp02
04 chuong4-capnhatdulieu-140404115156-phpapp0204 chuong4-capnhatdulieu-140404115156-phpapp02
04 chuong4-capnhatdulieu-140404115156-phpapp02
 
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPTBài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
Bài 4: STORED PROCEDURE & GIAO DỊCH - Giáo trình FPT
 
03 chuong 3 - data sets
03   chuong 3 - data sets03   chuong 3 - data sets
03 chuong 3 - data sets
 
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
Bài 6: Lập trình với CSDL Kiến trúc kết nối & Buộc dữ liệu - Lập trình winfor...
 
04 chuong 4 - cap nhat du lieu
04   chuong 4 - cap nhat du lieu04   chuong 4 - cap nhat du lieu
04 chuong 4 - cap nhat du lieu
 
04 chuong 4 - sap xep, tim kiem, loc du lieu
04   chuong 4 - sap xep, tim kiem, loc du lieu04   chuong 4 - sap xep, tim kiem, loc du lieu
04 chuong 4 - sap xep, tim kiem, loc du lieu
 
Cach su dung data reader
Cach su dung data readerCach su dung data reader
Cach su dung data reader
 
Aspnet 3.5 _02
Aspnet 3.5 _02Aspnet 3.5 _02
Aspnet 3.5 _02
 
5.cach su dung data reader
5.cach su dung data reader5.cach su dung data reader
5.cach su dung data reader
 
Php day4
Php day4Php day4
Php day4
 

Destaque

Adrian's Thankful Journal
Adrian's Thankful JournalAdrian's Thankful Journal
Adrian's Thankful Journalmicklethwait
 
Electrospn 1 ramakrishna-full
Electrospn 1 ramakrishna-fullElectrospn 1 ramakrishna-full
Electrospn 1 ramakrishna-fullmiroli
 
Thankful Journals 2014 Emma
Thankful Journals 2014 EmmaThankful Journals 2014 Emma
Thankful Journals 2014 Emmamicklethwait
 
Iso 25000 Calidad de software comprobable - Dic. 2015
Iso 25000 Calidad de software comprobable - Dic. 2015 Iso 25000 Calidad de software comprobable - Dic. 2015
Iso 25000 Calidad de software comprobable - Dic. 2015 Raúl Martínez
 
Buy Venapro – External Hemorrhoids Treatment
Buy Venapro – External Hemorrhoids TreatmentBuy Venapro – External Hemorrhoids Treatment
Buy Venapro – External Hemorrhoids Treatmenthealthandbeautyproducts
 
Aprovechando al máximo los estándares 10/16 CPCI
Aprovechando al máximo los estándares 10/16 CPCIAprovechando al máximo los estándares 10/16 CPCI
Aprovechando al máximo los estándares 10/16 CPCIRaúl Martínez
 
Гражданский контроль в управлении городом
Гражданский контроль в управлении городомГражданский контроль в управлении городом
Гражданский контроль в управлении городомАлексей Шляпужников
 
промо калининград сентябрь 2010
промо калининград   сентябрь 2010промо калининград   сентябрь 2010
промо калининград сентябрь 2010Sokirianskiy&Lazerson School
 
HDFC standard Life
HDFC standard LifeHDFC standard Life
HDFC standard LifeCherazure
 
Thankful Journal- Riley
Thankful Journal- RileyThankful Journal- Riley
Thankful Journal- Rileymicklethwait
 
CCV Faculty Institute 2010
CCV Faculty Institute 2010CCV Faculty Institute 2010
CCV Faculty Institute 2010Karen Case
 
My Roles For The Festival
My Roles For The FestivalMy Roles For The Festival
My Roles For The Festivallkiiddmikey
 
Group1 presentation2-droughtv2
Group1 presentation2-droughtv2Group1 presentation2-droughtv2
Group1 presentation2-droughtv2cookj111
 
Bai iii quy trinh tmdt
Bai iii   quy trinh tmdtBai iii   quy trinh tmdt
Bai iii quy trinh tmdtGiang Nguyễn
 

Destaque (20)

wisdomOFcrowds
wisdomOFcrowdswisdomOFcrowds
wisdomOFcrowds
 
Adrian's Thankful Journal
Adrian's Thankful JournalAdrian's Thankful Journal
Adrian's Thankful Journal
 
Electrospn 1 ramakrishna-full
Electrospn 1 ramakrishna-fullElectrospn 1 ramakrishna-full
Electrospn 1 ramakrishna-full
 
Thankful Journals 2014 Emma
Thankful Journals 2014 EmmaThankful Journals 2014 Emma
Thankful Journals 2014 Emma
 
Charter Establishing the CCARDESA
Charter Establishing the CCARDESACharter Establishing the CCARDESA
Charter Establishing the CCARDESA
 
Iso 25000 Calidad de software comprobable - Dic. 2015
Iso 25000 Calidad de software comprobable - Dic. 2015 Iso 25000 Calidad de software comprobable - Dic. 2015
Iso 25000 Calidad de software comprobable - Dic. 2015
 
Buy Venapro – External Hemorrhoids Treatment
Buy Venapro – External Hemorrhoids TreatmentBuy Venapro – External Hemorrhoids Treatment
Buy Venapro – External Hemorrhoids Treatment
 
Aprovechando al máximo los estándares 10/16 CPCI
Aprovechando al máximo los estándares 10/16 CPCIAprovechando al máximo los estándares 10/16 CPCI
Aprovechando al máximo los estándares 10/16 CPCI
 
G1 G4
G1 G4G1 G4
G1 G4
 
3 the superlative
3 the superlative3 the superlative
3 the superlative
 
Inbound 2016 Recap
Inbound 2016 RecapInbound 2016 Recap
Inbound 2016 Recap
 
Гражданский контроль в управлении городом
Гражданский контроль в управлении городомГражданский контроль в управлении городом
Гражданский контроль в управлении городом
 
промо калининград сентябрь 2010
промо калининград   сентябрь 2010промо калининград   сентябрь 2010
промо калининград сентябрь 2010
 
HDFC standard Life
HDFC standard LifeHDFC standard Life
HDFC standard Life
 
наш город 2
наш город 2наш город 2
наш город 2
 
Thankful Journal- Riley
Thankful Journal- RileyThankful Journal- Riley
Thankful Journal- Riley
 
CCV Faculty Institute 2010
CCV Faculty Institute 2010CCV Faculty Institute 2010
CCV Faculty Institute 2010
 
My Roles For The Festival
My Roles For The FestivalMy Roles For The Festival
My Roles For The Festival
 
Group1 presentation2-droughtv2
Group1 presentation2-droughtv2Group1 presentation2-droughtv2
Group1 presentation2-droughtv2
 
Bai iii quy trinh tmdt
Bai iii   quy trinh tmdtBai iii   quy trinh tmdt
Bai iii quy trinh tmdt
 

Semelhante a Ung dung web chuong 7

Chuong 07_ gắng kết dữ liệu asp.net
Chuong 07_ gắng kết dữ liệu asp.netChuong 07_ gắng kết dữ liệu asp.net
Chuong 07_ gắng kết dữ liệu asp.netThuyNguyenThi25
 
6.adapterset
6.adapterset6.adapterset
6.adaptersetDao Uit
 
04 chuong 4 - cap nhat du lieu
04   chuong 4 - cap nhat du lieu04   chuong 4 - cap nhat du lieu
04 chuong 4 - cap nhat du lieutruong le hung
 
Webanalytics with haddop and Hive
Webanalytics with haddop and HiveWebanalytics with haddop and Hive
Webanalytics with haddop and HiveLe Kien Truc
 
Cai tien trong lenh t sql cua sql server 2008 (2)
Cai tien trong lenh t sql cua sql server 2008 (2)Cai tien trong lenh t sql cua sql server 2008 (2)
Cai tien trong lenh t sql cua sql server 2008 (2)khanhtoankmz
 
Hdth07 ltudql02-linq-ep1
Hdth07 ltudql02-linq-ep1Hdth07 ltudql02-linq-ep1
Hdth07 ltudql02-linq-ep1Dũng Đinh
 
The Art of Readable Code - DongPV
The Art of Readable Code - DongPVThe Art of Readable Code - DongPV
The Art of Readable Code - DongPVĐông Đô
 
Lớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaLớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaANHMATTROI
 
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...MasterCode.vn
 
7 databinding-120306231825-phpapp02(1)
7 databinding-120306231825-phpapp02(1)7 databinding-120306231825-phpapp02(1)
7 databinding-120306231825-phpapp02(1)TI Anh
 

Semelhante a Ung dung web chuong 7 (20)

Chuong 07_ gắng kết dữ liệu asp.net
Chuong 07_ gắng kết dữ liệu asp.netChuong 07_ gắng kết dữ liệu asp.net
Chuong 07_ gắng kết dữ liệu asp.net
 
ado.net
ado.netado.net
ado.net
 
6.adapterset
6.adapterset6.adapterset
6.adapterset
 
Ung dung web chuong 4
Ung dung web  chuong 4Ung dung web  chuong 4
Ung dung web chuong 4
 
Aspnet 3.5 _05
Aspnet 3.5 _05Aspnet 3.5 _05
Aspnet 3.5 _05
 
Ung dung web chuong 5
Ung dung web  chuong 5Ung dung web  chuong 5
Ung dung web chuong 5
 
C5. Model, DataSharing.pdf
C5. Model, DataSharing.pdfC5. Model, DataSharing.pdf
C5. Model, DataSharing.pdf
 
04 chuong 4 - cap nhat du lieu
04   chuong 4 - cap nhat du lieu04   chuong 4 - cap nhat du lieu
04 chuong 4 - cap nhat du lieu
 
Asp
AspAsp
Asp
 
Webanalytics with haddop and Hive
Webanalytics with haddop and HiveWebanalytics with haddop and Hive
Webanalytics with haddop and Hive
 
LINQ presentation
LINQ presentationLINQ presentation
LINQ presentation
 
Lap trinh asp.net
Lap trinh asp.netLap trinh asp.net
Lap trinh asp.net
 
Cai tien trong lenh t sql cua sql server 2008 (2)
Cai tien trong lenh t sql cua sql server 2008 (2)Cai tien trong lenh t sql cua sql server 2008 (2)
Cai tien trong lenh t sql cua sql server 2008 (2)
 
Hdth07 ltudql02-linq-ep1
Hdth07 ltudql02-linq-ep1Hdth07 ltudql02-linq-ep1
Hdth07 ltudql02-linq-ep1
 
chuong_02.ppt
chuong_02.pptchuong_02.ppt
chuong_02.ppt
 
Giao trinh java script
Giao trinh java scriptGiao trinh java script
Giao trinh java script
 
The Art of Readable Code - DongPV
The Art of Readable Code - DongPVThe Art of Readable Code - DongPV
The Art of Readable Code - DongPV
 
Lớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong javaLớp kết nối csdl dùng jdbc trong java
Lớp kết nối csdl dùng jdbc trong java
 
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
Bài 5: ADO.NET & Kiến trúc không kết nối (tiếp) Điều khiển DataGridView,Combo...
 
7 databinding-120306231825-phpapp02(1)
7 databinding-120306231825-phpapp02(1)7 databinding-120306231825-phpapp02(1)
7 databinding-120306231825-phpapp02(1)
 

Mais de Giang Nguyễn

Php can ban_bai1_laptrinhwebphp.com
Php can ban_bai1_laptrinhwebphp.comPhp can ban_bai1_laptrinhwebphp.com
Php can ban_bai1_laptrinhwebphp.comGiang Nguyễn
 
Lap trinh web dong voi php my sql
Lap trinh web dong voi php my sqlLap trinh web dong voi php my sql
Lap trinh web dong voi php my sqlGiang Nguyễn
 
Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01Giang Nguyễn
 
Hay php architect eav modeling
Hay php architect   eav modelingHay php architect   eav modeling
Hay php architect eav modelingGiang Nguyễn
 
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dongHaiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dongGiang Nguyễn
 
Haiphongit.com.tai lieu-laptrinh ph-pvamysql
Haiphongit.com.tai lieu-laptrinh ph-pvamysqlHaiphongit.com.tai lieu-laptrinh ph-pvamysql
Haiphongit.com.tai lieu-laptrinh ph-pvamysqlGiang Nguyễn
 
Haiphongit.com.tai lieu-learning-php-my sql
Haiphongit.com.tai lieu-learning-php-my sqlHaiphongit.com.tai lieu-learning-php-my sql
Haiphongit.com.tai lieu-learning-php-my sqlGiang Nguyễn
 
Joomla administratormanual vi_20060206
Joomla administratormanual vi_20060206Joomla administratormanual vi_20060206
Joomla administratormanual vi_20060206Giang Nguyễn
 
Canbanvethietkevalaptrinhgame
CanbanvethietkevalaptrinhgameCanbanvethietkevalaptrinhgame
CanbanvethietkevalaptrinhgameGiang Nguyễn
 
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menuBuilding websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menuGiang Nguyễn
 
Eclipse pdt indigo release review
Eclipse pdt   indigo release reviewEclipse pdt   indigo release review
Eclipse pdt indigo release reviewGiang Nguyễn
 
Bai tap lap trinh web voi joomla csau
Bai tap   lap trinh web voi joomla csauBai tap   lap trinh web voi joomla csau
Bai tap lap trinh web voi joomla csauGiang Nguyễn
 

Mais de Giang Nguyễn (20)

Php can ban_bai1_laptrinhwebphp.com
Php can ban_bai1_laptrinhwebphp.comPhp can ban_bai1_laptrinhwebphp.com
Php can ban_bai1_laptrinhwebphp.com
 
Os xmldomphp
Os xmldomphpOs xmldomphp
Os xmldomphp
 
Os php-7oohabits
Os php-7oohabitsOs php-7oohabits
Os php-7oohabits
 
Os php-5.3new1
Os php-5.3new1Os php-5.3new1
Os php-5.3new1
 
Lap trinh web dong voi php my sql
Lap trinh web dong voi php my sqlLap trinh web dong voi php my sql
Lap trinh web dong voi php my sql
 
Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01Kentcources 110109221507-phpapp01
Kentcources 110109221507-phpapp01
 
Hay php architect eav modeling
Hay php architect   eav modelingHay php architect   eav modeling
Hay php architect eav modeling
 
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dongHaiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
Haiphongit.com.tai lieu-php.my sql-thiet-ke-web-dong
 
Haiphongit.com.tai lieu-laptrinh ph-pvamysql
Haiphongit.com.tai lieu-laptrinh ph-pvamysqlHaiphongit.com.tai lieu-laptrinh ph-pvamysql
Haiphongit.com.tai lieu-laptrinh ph-pvamysql
 
Chuong07 php
Chuong07 phpChuong07 php
Chuong07 php
 
Bai th08 php voi csdl
Bai th08 php voi csdlBai th08 php voi csdl
Bai th08 php voi csdl
 
Haiphongit.com.tai lieu-learning-php-my sql
Haiphongit.com.tai lieu-learning-php-my sqlHaiphongit.com.tai lieu-learning-php-my sql
Haiphongit.com.tai lieu-learning-php-my sql
 
Hd lap pttkht2008
Hd lap pttkht2008Hd lap pttkht2008
Hd lap pttkht2008
 
Joomla administratormanual vi_20060206
Joomla administratormanual vi_20060206Joomla administratormanual vi_20060206
Joomla administratormanual vi_20060206
 
Canbanvethietkevalaptrinhgame
CanbanvethietkevalaptrinhgameCanbanvethietkevalaptrinhgame
Canbanvethietkevalaptrinhgame
 
C1
C1C1
C1
 
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menuBuilding websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
Building websites-with-joomla-1-5-sample-chapter-chapter-7-the-menus-menu
 
Eclipse pdt indigo release review
Eclipse pdt   indigo release reviewEclipse pdt   indigo release review
Eclipse pdt indigo release review
 
Bai tap lap trinh web voi joomla csau
Bai tap   lap trinh web voi joomla csauBai tap   lap trinh web voi joomla csau
Bai tap lap trinh web voi joomla csau
 
Analyse
AnalyseAnalyse
Analyse
 

Último

Giáo trình xã hội học Thể dục Thể thao hay
Giáo trình xã hội học Thể dục Thể thao hayGiáo trình xã hội học Thể dục Thể thao hay
Giáo trình xã hội học Thể dục Thể thao hayLcTh15
 
.................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam........................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam.......thoa051989
 
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...Nguyen Thanh Tu Collection
 
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách Khoa
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách KhoaTài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách Khoa
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách KhoaKhiNguynCngtyTNHH
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...Nguyen Thanh Tu Collection
 
Báo cáo thực hành Quản lý kinh tế dược.pptx
Báo cáo thực hành Quản lý kinh tế dược.pptxBáo cáo thực hành Quản lý kinh tế dược.pptx
Báo cáo thực hành Quản lý kinh tế dược.pptxhoangvubaongoc112011
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...Nguyen Thanh Tu Collection
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 CÁNH DIỀU - CẢ NĂM THEO CÔNG VĂN 5512 (2 CỘT)...
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 CÁNH DIỀU - CẢ NĂM THEO CÔNG VĂN 5512 (2 CỘT)...GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 CÁNH DIỀU - CẢ NĂM THEO CÔNG VĂN 5512 (2 CỘT)...
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 CÁNH DIỀU - CẢ NĂM THEO CÔNG VĂN 5512 (2 CỘT)...Nguyen Thanh Tu Collection
 
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...Nguyen Thanh Tu Collection
 
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdfGIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdfHngNguyn271079
 
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docxNỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx7E26NguynThThyLinh
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...Nguyen Thanh Tu Collection
 
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN 5512 ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN 5512 ...GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN 5512 ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN 5512 ...Nguyen Thanh Tu Collection
 
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docxTổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docxTrangL188166
 
trò chơi về môn học tư tưởng hồ chí minh
trò chơi về môn học tư tưởng hồ chí minhtrò chơi về môn học tư tưởng hồ chí minh
trò chơi về môn học tư tưởng hồ chí minhNguynHuTh6
 
CH glucid university of Pham Ngoc Thach- v7.pdf
CH glucid university of Pham Ngoc Thach- v7.pdfCH glucid university of Pham Ngoc Thach- v7.pdf
CH glucid university of Pham Ngoc Thach- v7.pdfSuperJudy1
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...Nguyen Thanh Tu Collection
 

Último (20)

Giáo trình xã hội học Thể dục Thể thao hay
Giáo trình xã hội học Thể dục Thể thao hayGiáo trình xã hội học Thể dục Thể thao hay
Giáo trình xã hội học Thể dục Thể thao hay
 
.................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam........................KHTN 9....................................Viet Nam.......
.................KHTN 9....................................Viet Nam.......
 
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
ĐỀ CƯƠNG + TEST ÔN TẬP CUỐI KÌ 2 TIẾNG ANH 11 - GLOBAL SUCCESS (THEO CHUẨN MI...
 
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách Khoa
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách KhoaTài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách Khoa
Tài liệu kỹ thuật điều hòa Panasonic - Điện lạnh Bách Khoa
 
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...
BỘ ĐỀ KIỂM TRA CUỐI KÌ 2 TIẾNG ANH I-LEARN SMART START LỚP 3, 4 NĂM HỌC 2023-...
 
Báo cáo thực hành Quản lý kinh tế dược.pptx
Báo cáo thực hành Quản lý kinh tế dược.pptxBáo cáo thực hành Quản lý kinh tế dược.pptx
Báo cáo thực hành Quản lý kinh tế dược.pptx
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY CÔNG NGHỆ 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN ...
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 CÁNH DIỀU - CẢ NĂM THEO CÔNG VĂN 5512 (2 CỘT)...
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 CÁNH DIỀU - CẢ NĂM THEO CÔNG VĂN 5512 (2 CỘT)...GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 CÁNH DIỀU - CẢ NĂM THEO CÔNG VĂN 5512 (2 CỘT)...
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 CÁNH DIỀU - CẢ NĂM THEO CÔNG VĂN 5512 (2 CỘT)...
 
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...
GIÁO TRÌNH BỒI DƯỠNG HỌC SINH GIỎI THCS VÀ THI VÀO 10 THPT CHUYÊN MÔN TIẾNG A...
 
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdfGIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
GIẢI-ĐỀ-CƯƠNG-NHẬP-MÔN-KHOA-HỌC-XÃ-HỘI-VÀ-NHÂN-VĂN-KHIÊM-BK69.pdf
 
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docxNỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
NỘI DUNG HỌC THI ôn thi môn LỊCH SỬ ĐẢNG.docx
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
 
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
50 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN 5512 ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN 5512 ...GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN 5512 ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY TOÁN 8 KẾT NỐI TRI THỨC - CẢ NĂM THEO CÔNG VĂN 5512 ...
 
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docxTổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
Tổng hợp Ngữ pháp Tiếng Anh 11 cho học sinh.docx
 
trò chơi về môn học tư tưởng hồ chí minh
trò chơi về môn học tư tưởng hồ chí minhtrò chơi về môn học tư tưởng hồ chí minh
trò chơi về môn học tư tưởng hồ chí minh
 
CH glucid university of Pham Ngoc Thach- v7.pdf
CH glucid university of Pham Ngoc Thach- v7.pdfCH glucid university of Pham Ngoc Thach- v7.pdf
CH glucid university of Pham Ngoc Thach- v7.pdf
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
BỘ ĐỀ CHÍNH THỨC + TÁCH ĐỀ + ĐỀ LUYỆN THI VÀO LỚP 10 CHUYÊN TOÁN CÁC TỈNH NĂM...
 

Ung dung web chuong 7

  • 1. Chương 7 ADO.NET - II
  • 2. Mục tiêu  Hiểu kết buộc dữ liệu  Repeater control  DataList control  Cập nhật dữ liệu qua form  Làm việc với dữ liệu XML
  • 3. Data Binding (kết buộc dữ liệu)  Kết buộc dữ liệu là tiến trình liên kết dữ liệu lấy được vào điều khiển để hiển thị  Dữ liệu có thể kết buộc đến tất cả các điều khiển dùng biểu thức kết buộc dữ liệu được đặt giữa thể <%#......%>  Dữ liệu được kết buộc đến điều khiển bất cứ lúc nào phương thức DataBind() được gọi  Kết buộc dữ liệu có thể thực hiện trên các kiểu dữ liệu khác nhau như:  Các thuộc tính  Collections  Biểu thức  Kết quả của lời gọi hàm
  • 4. Thuộc tính ASP.NET cho phép các nhà phát triển kết buộc dữ liệu đến các biến public, thuộc tính của trang hay thậm chí thuộc tính của các điều khiển khác <html> <title>DataBinding </title> <script language="C#" runat="server"> void Page_Load(Object sender, EventArgs e) { Page.DataBind(); } </script> <form runat=server> <center><b><u> DataBinding</center></b></u><br> Enter a string and press tab <br><br>
  • 5. Thuộc tính <asp:textbox id = "txtControl" AutoPostback="true" runat= "server" /><br> <br> <asp:label id = "lblControl" text = < %#txtControl.Text%> runat = "server" /><br><br> </form> </html>
  • 6. Biểu thức và phương thức <%@ Import Namespace="System.Data" %> <html> <title>DataBinding Expressions</title> <script language="C#" runat="server"> void Page_Load(Object Sender, EventArgs E) { Response.Write("<center><b><u>DataBinding Expressions</center></b></u><br>"); if(!IsPostBack) { DataTable mydt = new DataTable(); DataRow mydr; mydt.Columns.Add(new DataColumn ("Numbers", typeof(Int32)));
  • 7. Biểu thức và phương thức for (int i=0;i<=5;i++) { mydr = mydt.NewRow(); mydr[0] = i; mydt.Rows.Add(mydr); } dlMyList.DataSource = mydt; dlMyList.DataBind(); } } int Square(int num) { int ans = num* num; return ans; }
  • 8. Biểu thức và phương thức int Cube(int num) { int ans = num*num*num; return ans; } </script> <form runat=server> <asp:DataList id = "dlMyList" runat = "server"> <ItemTemplate> Number : <%# ((DataRowView)Container.DataItem) ["Numbers"] %> Square : <%# Square ((int) ((DataRowView) Container.DataItem) ["Numbers"]) %> Cube : <%# Cube ((int) ((DataRowView) Container.DataItem) ["Numbers"]) %>
  • 9. Biểu thức và phương thức </ItemTemplate> </asp:DataList> </form> </html>
  • 10. Phương thức DataBinder.Eval() Phương thức này dùng để đánh giá biểu thức kết buộc dữ liệu ở thời gian thực thi và định dạng kết xuất được hiển thị trên trình duyệt. A r Tên chứa mục dữ liệu g u m Tên trường e n t Định dạng chuỗi s Example: <%# DataBinder.Eval(Container.DataItem,"max_lvl","{0:c}") %>
  • 11. Repeater Là một container control, dùng để hiển thị danh sách các dữ liệu theo một mẫu định dạng nào đó cho từng mục dữ liệu. Mẫu định dạng (template) là một tập các phần tử HTML hay các điều khiển dùng để định dạng hiển thị của điều khiển T ItemTemplate e m AlternatingItemTemplate p l HeaderTemplate a t FooterTemplate e s SeparatorTemplate
  • 12. Repeater Ví dụ <%@ Import Namespace="System.Data" %> <html> <title>Repeater Control</title> <head> <script language="C#" runat="server"> void Page_Load(Object Sender, EventArgs e) { Response.Write("<center><b><u>Repeater</center> </b></u><br>"); if (!IsPostBack) { DataTable mydt = new DataTable(); DataRow mydr; mydt.Columns.Add(new DataColumn ("Numbers", typeof(Int32)));
  • 13. Repeater Ví dụ mydt.Columns.Add(new DataColumn ("Squares", typeof(Int32))); mydt.Columns.Add(new DataColumn ("Cubes", typeof(Int32))); for (int i=0;i<=2;i++) { mydr = mydt.NewRow(); mydr[0] = i; mydr[1] = i*i; mydr[2] = i*i*i; mydt.Rows.Add(mydr); } Repeater1.DataSource = mydt; Repeater1.DataBind(); Repeater2.DataSource = mydt; Repeater2.DataBind();
  • 14. Repeater Ví dụ } } </script> </head> <body> <form runat=server> <b>Repeater1:</b> <p> <asp:Repeater id=Repeater1 runat="server"> <HeaderTemplate> <table border=1> <tr> <td><b>Number</b></td> <td><b>Square</b></td> <td><b>Cube</b></td> </tr>
  • 15. Repeater Ví dụ </HeaderTemplate> <ItemTemplate> <tr> <td> <%# DataBinder.Eval (Container.DataItem, "Numbers") %> </td> <td> <%# DataBinder.Eval (Container.DataItem, "Squares") %> </td> <td> <%# DataBinder.Eval(Container.DataItem, "Cubes") %> </td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> <p>
  • 16. Repeater Ví dụ <b>Repeater2:</b> <p> <asp:Repeater id=Repeater2 runat="server"> <HeaderTemplate> Number (Square) [Cube] : </HeaderTemplate> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem, "Numbers") %> (<%# DataBinder.Eval(Container.DataItem, "Squares") %>) [<%# DataBinder.Eval(Container.DataItem, "Cubes") %>] </ItemTemplate> <SeparatorTemplate>, </SeparatorTemplate> </asp:Repeater>
  • 17. Repeater Output </form> </body> </html>
  • 18. DataList Cho phép người dùng chỉ ra luồng dữ liệu ItemTemplate T AlternatingItemTemplate e m SelectedItemTemplate p EditItemTemplate l a HeaderTemplate t e FooterTemplate s SeparatorTemplate
  • 19. DataList – Ví dụ <%@ Import Namespace="System.Data" %> <html> <title>DataList Control</title> <head> <script language="C#" runat="server"> void Page_Load(Object Sender, EventArgs e) { Response.Write("<center><b><u>Data List with Alternating Columns</center></b></u><br>"); if (!IsPostBack) { DataTable mydt = new DataTable(); DataRow mydr; mydt.Columns.Add(new DataColumn ("Numbers", typeof(Int32)));
  • 20. DataList Ví dụ mydt.Columns.Add(new DataColumn("Squares", typeof(Int32))); mydt.Columns.Add(new DataColumn("Cubes",typeof(Int32))); for (int i=0;i<30;i++) { mydr = mydt.NewRow(); mydr[0] = i; mydr[1] = i*i; mydr[2] = i*i*i; mydt.Rows.Add(mydr); } dlMyList.DataSource = mydt; dlMyList.DataBind(); } } </script>
  • 21. DataList Ví dụ </head> <body> <form runat=server> <asp:DataList id="dlMyList" RepeatDirection="Horizontal" RepeatColumns="10" runat="server"> <ItemTemplate> <%# DataBinder.Eval(Container.DataItem, "Numbers") %><br> <%# DataBinder.Eval(Container.DataItem, "Squares") %><br> <%# DataBinder.Eval(Container.DataItem, "Cubes") %><br> </ItemTemplate> <AlternatingItemTemplate> <i><b><%# DataBinder.Eval(Container.DataItem, "Numbers") %></b> <i><br> <i><b><%# DataBinder.Eval(Container.DataItem, "Squares") %><b><i><br> <i><b><%# DataBinder.Eval(Container.DataItem, "Cubes") %><b><i><br>
  • 22. DataList Kết xuất </AlternatingItemTemplate> </asp:DataList> </form> </body> </html>
  • 23. Quản lý dữ liệu trong ASP.NET Insert Update DATA Delete Select
  • 24. Chèn dữ liệu Đ ể chèn d ữ li ệ u 1. : Nối kết CSDL 2. Tạo lệnh chèn trong CSDL Thiết lập nối kết CSDL mySqlCon = new SqlConnection ("server=SQLDB; uid= sa; pwd =password; database=pubs"); Chèn dữ liệu qua đối tượng command string myinsertCmd = "insert into publishers ( pub_id, pub_name, city, state, country ) values (@pubid, @pubname, @city, @state, @country)"; SqlCommand mySqlCom = new SqlCommand(myinsertCmd, mySqlCon); Tạo một tham số SqlCom.Parameters.Add(new SqlParameter("@pubid", SqlDbType.SmallInt, 2));
  • 25. Chèn dữ liệu <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <html> <title>Inserting Data in a Database</title> <script language="C#" runat="server" Debug="true"> SqlConnection mySqlCon; protected void Page_Load(Object Src, EventArgs e) { mySqlCon = new SqlConnection("server=SQLDB;uid =sa;pwd= password; database=pubs"); if(!IsPostBack) BindGrid(); }
  • 26. Chèn dữ liệu public void AddPublisher(Object sender, EventArgs e) { string strInsert = "insert into publishers ( pub_id, pub_name, city, state, country ) values (@pubid, @pubname, @city, @state, @country)"; SqlCommand mySqlCom = new SqlCommand(strInsert, mySqlCon); mySqlCom.Parameters.Add(new SqlParameter ("@pubid", SqlDbType.Char, 4)); mySqlCom.Parameters ["@pubid"]. Value = txtPub_Id.Text; mySqlCom.Parameters.Add(new SqlParameter ("@pubname", SqlDbType.VarChar, 40)); mySqlCom.Parameters ["@pubname"]. Value = txtPub_Name. Text; mySqlCom.Parameters.Add(new SqlParameter ("@city", SqlDbType.VarChar, 20)); mySqlCom.Parameters["@city"].Value = txtCity.Text;
  • 27. Chèn dữ liệu mySqlCom.Parameters.Add(new SqlParameter("@state", SqlDbType.Char, 2)); mySqlCom.Parameters ["@state"]. Value = txtState.Text; mySqlCom.Parameters.Add(new SqlParameter ("@country", SqlDbType.VarChar, 30)); mySqlCom.Parameters ["@country"].Value = txtCountry.Text; mySqlCom.Connection.Open(); mySqlCom.ExecuteNonQuery(); Message.InnerHtml = "<b>Record Added</b><br>"; mySqlCom.Connection.Close(); txtPub_Id.Text = ""; txtPub_Name.Text = ""; txtCity.Text = ""; txtState.Text = ""; txtCountry.Text = "";
  • 28. Chèn dữ liệu BindGrid(); } public void BindGrid() { SqlDataAdapter mySqlda = new SqlDataAdapter ("select * from publishers where pub_id like '99%'", mySqlCon); DataSet myds = new DataSet(); mySqlda.Fill (myds, "publishers"); dbgMyGrid.DataSource = myds.Tables ["publishers"]. DefaultView; dbgMyGrid.DataBind(); } </script> <form runat="server"> <h2>Add a New Publisher:</h2> <br>
  • 29. Chèn dữ liệu Publisher Id should start with 99 and contain 4 digits<br><br> Pubisher ID: &nbsp&nbsp&nbsp&nbsp &nbsp&nbsp&nbsp <asp:textbox id="txtPub_Id" runat="server"/> Name: &nbsp&nbsp <asp:textbox id="txtPub_Name" runat="server"/> City: &nbsp <asp:textbox id="txtCity" runat="server"/> <br><br> State: &nbsp <asp:textbox id="txtState" runat="server"/> Country: &nbsp <asp:textbox id="txtCountry" runat="server"/> <br> <br> &nbsp &nbsp &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp <asp:button id="btnSubmit" Text="Submit" OnClick="AddPublisher" runat="server"/><br>
  • 30. Chèn dữ liệu <span id="Message" MaintainState="false" style="font: arial 11pt;" runat="server"/> <br> <asp:DataGrid id="dbgMyGrid" runat= "server"/> </form> </body> </html>
  • 31. Cập nhật dữ liệu  Một cách để trình bày giao tiếp cho cập nhật dữ liệu là cung cấp một tập dữ liệu đến người dùng và cho phép người dùng chọn hàng để cập nhật  DataGrid có thể được dùng để hiển thị tất cả dữ liệu cho người dùng, và người dùng chọn hàng để cập nhật  Người dùng có thể chọn hàng để cập nhật dùng EditCommandColumn trong DataGrid  EditCommandColumn cung cấp liên kết cho 3 sự kiện:  Edit Command  Update Command  Cancel Command
  • 32. Cập nhật dữ liệu  EditCommandColumn có thể thêm vào DataGrid như sau: <asp:datagrid id="dbgMyGrid" runat="server" DataKeyField="pub_id" OnUpdateCommand="dbgMyGrid_Update" OnCancelCommand="dbgMyGrid_Cancel" OnEditCommand="dbgMyGrid_Edit"> <Columns> <asp:EditCommandColumn EditText="Edit" CancelText="Cancel" UpdateText="Update" /> </Columns> </asp:datagrid> Sự kiện có thể được thực hiện khi người dùng chọn lệnh trong EditCommandColumn
  • 33. Cập nhật dữ liệu  EditItemIndex dùng để xác định vị trí của hàng được cập nh  Sau khi giá trị hàng được gán cho EditItemIndex, hàng có thể được biên tập  Ví dụ public void dbgMyGrid_Edit(Object sender, DataGridCommandEventArgs e) { dbgMyGrid.EditItemIndex = (int)e.Item.ItemIndex; }
  • 34. Cập nhật dữ liệu Lấy khóa chính của hàng được chọn cập nhật mySqlCmd.Parameters ["@pubid"].Value = dbgMyGrid.DataKeys [(int)e.Item.ItemIndex]; Gán các giá trị thay đổi đến hàng qua các tham số mySqlCmd.Parameters ["@pubname"].Value = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
  • 35. Cập nhật dữ liệu <%@ Import Namespace="System.Data.SqlClient" %> <%@ Import Namespace="System.Data" %> <HTML> <title>Updating Data in a Database</title> <script language="C#" runat="server"> SqlConnection mySqlCon; protected void Page_Load(Object Src, EventArgs e) { Response.Write("<center><b><u>Updating Data</center></b></u><br>"); mySqlCon = new SqlConnection ("server=SQLDB; uid=sa; pwd=password;database=pubs"); if(!IsPostBack) BindGrid(); }
  • 36. Cập nhật dữ liệu public void dbgMyGrid_Edit(Object sender, DataGridCommandEventArgs e) { dbgMyGrid.Columns[0].HeaderText="Edit"; dbgMyGrid.EditItemIndex = (int)e.Item.ItemIndex; BindGrid(); } public void dbgMyGrid_Cancel(Object sender, DataGridCommandEventArgs e) { dbgMyGrid.Columns[0].HeaderText="Cancel"; dbgMyGrid.EditItemIndex = -1; BindGrid(); } public void dbgMyGrid_Update(Object sender, DataGridCommandEventArgs e
  • 37. Cập nhật dữ liệu { dbgMyGrid.Columns[0].HeaderText="Update"; string strUpdate = "UPDATE Publishers SET pub_id = @pubid, pub_name = @pubname, city = @city, state = @state, country = @country WHERE pub_id = @pubid"; SqlCommand mySqlCmd = new SqlCommand(strUpdate, mySqlCon); mySqlCmd.Parameters.Add(new SqlParameter("@pubid", SqlDbType.Char, 4)); mySqlCmd.Parameters.Add(new SqlParameter ("@pubname", SqlDbType.VarChar, 40)); mySqlCmd.Parameters.Add(new SqlParameter ("@city", SqlDbType.VarChar, 20)); mySqlCmd.Parameters.Add(new SqlParameter("@state", SqlDbType.Char, 2)); mySqlCmd.Parameters.Add(new SqlParameter("@country", SqlDbType.VarChar, 30));
  • 38. Cập nhật dữ liệu mySqlCmd.Parameters ["@pubid"]. Value = dbgMyGrid.DataKeys [(int)e.Item.ItemIndex]; mySqlCmd.Parameters ["@pubname"].Value=((TextBox)e.Item. Cells[2].Controls[0]).Text; mySqlCmd.Parameters ["@city"]. Value = ((TextBox)e.Item. Cells[3].Controls[0]).Text; mySqlCmd.Parameters ["@state"].Value = ((TextBox)e.Item. Cells[4].Controls[0]).Text; mySqlCmd.Parameters ["@country"].Value = ((TextBox)e.Item. Cells[5].Controls[0]).Text; mySqlCon.Open();
  • 39. Cập nhật dữ liệu try { mySqlCmd.ExecuteNonQuery(); lblMessage.Text = "<b>Record Updated</b><br>" ; dbgMyGrid.EditItemIndex = -1; } catch(SqlException exc) { if (exc.Number == 2627) lblMessage.Text = "ERROR: A record already exists with the same primary key"; else lblMessage.Text = exc.ToString() + "ERROR: Could not update record, please ensure the fields are correctly filled out"; }
  • 40. Cập nhật dữ liệu mySqlCon.Close(); BindGrid(); } public void BindGrid() { SqlDataAdapter mySqlda = new SqlDataAdapter ("select * from publishers", mySqlCon); DataSet myds = new DataSet(); mySqlda.Fill(myds, "publishers"); dbgMyGrid.DataSource = myds.Tables ["publishers"]. DefaultView; dbgMyGrid.DataBind(); } </script> <body> <form id="Form1" runat="server">
  • 41. Cập nhật dữ liệu <h4><asp:label id="lblMessage" runat="server"> </asp:label> </h4><br> <ASP:Datagrid id="dbgMyGrid" runat="server" DataKeyField="pub_id" OnUpdateCommand="dbgMyGrid_Update" OnCancelCommand ="dbgMyGrid_Cancel" OnEditCommand= "dbgMyGrid_Edit"> <Columns> <asp:EditCommandColumn EditText="Edit" CancelText ="Cancel" UpdateText="Update" /> </Columns> </ASP:Datagrid></form> </body> </HTML>
  • 43. Xóa dữ liệu  OnDeleteCommand thực hiện nhiệm vụ xóa hàng dữ liệu được chọn <asp:DataGrid id="dbgMyGrid" runat="server" DataKeyField="pub_id" OnDeleteCommand=" dbgMyGrid_Delete"> <Columns> <asp:ButtonColumn Text="Delete Publisher" CommandName ="Delete" /> </Columns> </asp:DataGrid>
  • 44. Xóa dự liệu <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <html> <title>Deleting Data in a Database</title> <script language="C#" runat="server" Debug="true"> SqlConnection mySqlCon; protected void Page_Load(Object sender, EventArgs e) { Response.Write("<center><b><u>Deleting Data</center></b></u><br>"); mySqlCon = new SqlConnection ("server=SQLDB; uid =sa; pwd =password; database=pubs"); if (!IsPostBack) BindGrid(); }
  • 45. Deleting Data Example Contd… public void dbgMyGrid_Delete(Object sender, DataGridCommandEventArgs e) { string strDelete = "DELETE from publishers where pub_id = @pubid"; SqlCommand mySqlCmd = new SqlCommand(strDelete, mySqlCon); mySqlCmd.Parameters.Add(new SqlParameter ("@pubid", SqlDbType.Char, 4)); mySqlCmd.Parameters["@pubid"].Value = dbgMyGrid.DataKeys [(int)e.Item.ItemIndex]; mySqlCon.Open(); try { mySqlCmd.ExecuteNonQuery(); Message.InnerHtml = "<b>Record Deleted</b><br>"; }
  • 46. Cập nhật dữ liệu catch (SqlException) { Message.InnerHtml = "ERROR: Could not delete record"; Message.Style ["color"] = "red"; } mySqlCon.Close(); BindGrid(); } public void BindGrid() { SqlDataAdapter mySqlda = new SqlDataAdapter("select * from publishers", mySqlCon); DataSet myds = new DataSet(); mySqlda.Fill(myds, "publishers"); dbgMyGrid.DataSource =myds.Tables ["publishers"]. DefaultView;
  • 47. Cập nhật dữ liệu dbgMyGrid.DataBind(); } </script> <body> <form runat="server" ID="Form1"> <span id="Message" EnableViewState="false" runat="server" /><p> <asp:DataGrid id="dbgMyGrid" runat="server" DataKeyField="pub_id" OnDeleteCommand=" dbgMyGrid_Delete"> <Columns> <asp:ButtonColumn Text="Delete Publisher" CommandName="Delete" /> </Columns> </asp:DataGrid> </form>
  • 48. Cập nhật dữ liệu </body> </html>
  • 49. Quản lý dữ liệu XML Schema <rootelement xmlns=” x- schema:scheduledSchema.xsl”> 1 Mở tập tin <rootelement xmlns = "x-schema:scheduledSchema.xsl"> FileStream myfs = new FileStream (Server.MapPath ("xmldatagrid.xml") ,FileMode.Open,FileAccess.Read); 2 Gán streamreader StreamReader myreader = new StreamReader(myfs); Đọc dữ liệu từ một streamreader 3 DataSet myds = new DataSet(); myds.ReadXml(myreader);
  • 50. Quản lý dữ liệu XML 4 Kết buộc dự liệu DataView mySource = new DataView(myds.Tables[0]); DataGrid1.DataSource = mySource; DataGrid1.DataBind(); Ví dụ: <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Data" %> <html> <title>XML Data</title> <script language="C#" runat="server"> void Page_Load(Object Src, EventArgs e) { DataSet myds = new DataSet();
  • 51. XML Data in a DataGrid FileStream myfs = new FileStream(Server.MapPath ("xmldatagrid.xml"),FileMode.Open, FileAccess.Read); StreamReader myreader = new StreamReader(myfs); myds.ReadXml(myreader); myfs.Close(); DataView mySource = new DataView(myds.Tables[0]); lblTableName.Text = mySource.Table.TableName; dbgMyGrid.DataSource = mySource; dbgMyGrid.DataBind(); } </script> <body> <h3><font face="Arial">XML Data for Table: <asp:label id="lblTableName" runat= "server"/></font> </h3>
  • 52. Hiển thị dữ liệu trong DataGrid </h3> <ASP:DataGrid id="dbgMyGrid" runat="server" /> </body> </html>