SlideShare une entreprise Scribd logo
1  sur  52
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>

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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)
 

Plus 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
 

Plus 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
 

Dernier

1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docxTHAO316680
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
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
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanmyvh40253
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảoKiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảohoanhv296
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgspowerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgsNmmeomeo
 
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdfSLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdfhoangtuansinh1
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoámyvh40253
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...Nguyen Thanh Tu Collection
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-KhnhHuyn546843
 
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
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...Nguyen Thanh Tu Collection
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...Nguyen Thanh Tu Collection
 
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢIPHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢImyvh40253
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...Nguyen Thanh Tu Collection
 

Dernier (20)

1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.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...
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảoKiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgspowerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
 
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdfSLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
 
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...
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
 
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢIPHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 

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>