Mega Code Archive

 
Categories / ASP.Net Tutorial / ADO Net Database
 

Performing Batch Updates

<%@ Page Language="C#" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <%@ Import Namespace="System.Web.Configuration" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">         private SqlDataAdapter dad;     private DataTable dtblProducts;     void Page_Load()     {         string connectionString = WebConfigurationManager.ConnectionStrings["Products"].ConnectionString;         SqlConnection con = new SqlConnection(connectionString);         dad = new SqlDataAdapter("SELECT Id,Title,Director FROM Products", con);         SqlCommandBuilder builder = new SqlCommandBuilder(dad);         dtblProducts = new DataTable();         dad.Fill(dtblProducts);         rptProducts.DataSource = dtblProducts;         rptProducts.DataBind();     }     protected void lnkUpdate_Click(object sender, EventArgs e)     {         for (int i=0; i < rptProducts.Items.Count;i++)         {             RepeaterItem item = rptProducts.Items[i];             TextBox txtTitle = (TextBox)item.FindControl("txtTitle");             TextBox txtDirector = (TextBox)item.FindControl("txtDirector");             if (dtblProducts.Rows[i]["Title"] != txtTitle.Text)                 dtblProducts.Rows[i]["Title"] = txtTitle.Text;             if (dtblProducts.Rows[i]["Director"] != txtDirector.Text)                 dtblProducts.Rows[i]["Director"] = txtDirector.Text;         }         dad.UpdateBatchSize = 0;         int numUpdated = dad.Update(dtblProducts);         lblResults.Text = String.Format("Updated {0} rows", numUpdated);     } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">     <title>Show DataAdapter Update</title> </head> <body>     <form id="form1" runat="server">     <div>     <asp:Repeater         id="rptProducts"         EnableViewState="false"         Runat="server">         <HeaderTemplate>         <table>         <tr>             <td>Title</td><td>Director</td>         </tr>         </HeaderTemplate>         <ItemTemplate>         <tr>         <td>         <asp:TextBox             id="txtTitle"             Text='<%#Eval("Title")%>'             Runat="server" />         </td>         <td>         <asp:TextBox             id="txtDirector"             Text='<%#Eval("Director")%>'             Runat="server" />         </td>         </tr>         </ItemTemplate>         <FooterTemplate>         </table>         </FooterTemplate>     </asp:Repeater>     <br />     <asp:LinkButton         id="lnkUpdate"         Text="Update Products"         Runat="server" OnClick="lnkUpdate_Click" />     <br /><br />     <asp:Label         id="lblResults"         EnableViewState="false"         Runat="server" />     </div>     </form> </body> </html> File: Web.config <configuration>   <connectionStrings>     <add name="Products"           connectionString="Data Source=.\SQLEXPRESS;          AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True;User Instance=True" />   </connectionStrings> </configuration>