How to load a DataTable from a DataReader (C#) : DataTable « ADO.net Database « ASP.NET Tutorial





<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Configuration" %>

<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack )
        {
            SqlConnection MyConnection;
            SqlCommand MyCommand;
            DataTable MyDataTable;
            SqlDataReader MyReader;
            SqlParameter CityParam;

            MyConnection = new SqlConnection();
            MyConnection.ConnectionString = ConfigurationManager.ConnectionStrings["DSN_Northwind"].ConnectionString;

            MyCommand = new SqlCommand();
            MyCommand.CommandText = " SELECT * FROM CUSTOMERS WHERE CITY = @CITY ";
            MyCommand.CommandType = CommandType.Text;
            MyCommand.Connection = MyConnection;

            CityParam = new SqlParameter();
            CityParam.ParameterName = "@CITY";
            CityParam.SqlDbType = SqlDbType.VarChar;
            CityParam.Size = 15;
            CityParam.Direction = ParameterDirection.Input;
            CityParam.Value = "London";

            MyCommand.Parameters.Add(CityParam);

            MyCommand.Connection.Open();
            MyReader = MyCommand.ExecuteReader(CommandBehavior.CloseConnection);

            MyDataTable = new DataTable();

            MyDataTable.Load(MyReader);

            gvCustomers.DataSource = MyDataTable;
            gvCustomers.DataBind();

            MyDataTable.Dispose();
            MyCommand.Dispose();
            MyConnection.Dispose();

        }
    }

</script>

<html>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="gvCustomers" runat="server">
        </asp:GridView>    
    </div>
    </form>
</body>
</html>
File: Web.config

<configuration>

  <connectionStrings>
        <add name="DSN_Northwind" 
             connectionString="Data Source=localhost\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True"
             providerName="System.Data.SqlClient" />
    </connectionStrings>

</configuration>










18.29.DataTable
18.29.1.The DataTable object represents an in-memory database table.
18.29.2.Create and display in-memory calculated fields
18.29.3.How to load a DataTable from a DataReader (C#)
18.29.4.How to load a DataTable from a DataReader (VB)
18.29.5.Build a DataTable