ASP.NET Tutorial/ADO.net Database/DbDataReader
Using Multiple ResultSets in a single DbDataReader
<source lang="csharp">
<%@ Page Language="C#"
AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="MultipleResultSets" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server">
<title>Using Multiple ResultSets in a single DbDataReader</title>
</head> <body>
<form id="form1" runat="server">
<asp:GridView ID="grdBooks" runat="server" />
Authors
<asp:GridView ID="grdAuthors" runat="server" /> <asp:Label ID="labMsg" runat="server" />
</form>
</body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Configuration; public partial class MultipleResultSets : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) { string connString = ConfigurationManager.ConnectionStrings["Northwind"].ConnectionString; SqlConnection conn = null; SqlDataReader reader = null; try { conn = new SqlConnection(connString); conn.Open(); string sql = "SELECT * FROM Products; SELECT * FROM Customers;"; SqlCommand cmd = new SqlCommand(sql, conn); reader = cmd.ExecuteReader(); grdAuthors.DataSource = reader; grdAuthors.DataBind(); reader.NextResult(); grdBooks.DataSource = reader; grdBooks.DataBind();
} catch (Exception ex) { labMsg.Text = "Error occurred accessing the database"; labMsg.Text += "
" + ex.Message; } finally { if (reader != null) reader.Close(); if (conn != null) conn.Close(); } }
}</source>