ASP.NET Tutorial/ADO.net Database/MultipleActiveResultSets

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

MARS feature on the Employees table of the Northwind database

   <source lang="csharp">

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"

   Inherits="Default"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">

   <title>MARS</title>

</head> <body>

       <form id="form1" runat="server">
           <asp:Button ID="Button1" runat="server" Text="Go" OnClick="Button1_Click" />

           <asp:DataGrid ID="grid" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" >
               <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
               <EditItemStyle BackColor="#2461BF" />
               <SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
               <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
               <AlternatingItemStyle BackColor="White" />
               <ItemStyle BackColor="#EFF3FB" />
               <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
           </asp:DataGrid>
       </form>

</body> </html> File: Default.aspx.cs using System; using System.Data; using System.Data.Sql; using System.Data.SqlClient; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls;

public partial class Default : System.Web.UI.Page {

   protected void Button1_Click(object sender, EventArgs e)
   {
       string connString = "MultipleActiveResultSets=true;SERVER=(local)\\SQLEXPRESS;ATTACHDBFILENAME=|DataDirectory|northwind.mdf;INTEGRATED SECURITY=sspi;USER INSTANCE=false;";
       using (SqlConnection conn = new SqlConnection(connString))
       {
           SqlCommand cmd1 = new SqlCommand("SELECT employeeid, firstname, lastname FROM employees", conn);
           cmd1.Connection.Open();
           SqlDataReader reader = cmd1.ExecuteReader();
     while (reader.Read())
     {
       string firstNameReverted = reader["firstname"].ToString();
       char[] buf = firstNameReverted.ToCharArray();
       Array.Reverse(buf);
       firstNameReverted = new string(buf);
       int id = (int)reader["employeeid"];
       SqlCommand cmd2 = new SqlCommand("UPDATE employees SET firstname=@newFirstName WHERE employeeid=@empID", conn);
       cmd2.Parameters.AddWithValue("@newFirstName", firstNameReverted);
       cmd2.Parameters.AddWithValue("empID", id);
       cmd2.ExecuteNonQuery();
     }
     reader.Close();
     grid.DataSource = cmd1.ExecuteReader(); 
           grid.DataBind();
           cmd1.Connection.Close();
       }
   }

}</source>