تبدیل و کپی DataReader به DataTable و DataSet در C#

در این مقاله به تبدیل و کپی DataReader به DataTable و DataSet در C# خواهیم پرداخت DataTable و DataSet با رکوردها پر میشوند از طریق DataReader با استفاده از متد Load در DataTable

تبدیل و کپی DataReader به DataTable و DataSet در C#

در این مقاله به تبدیل و کپی DataReader به DataTable و DataSet در C# خواهیم پرداخت DataTable و DataSet  با رکوردها پر میشوند از طریق DataReader با استفاده از متد Load در DataTable

ابتدا یک جدول در پایگاه داده خود به نام Customers به شکل زیر بسازید:

سپس چند رکورد در آن درج میکنیم :

فضا نام های زیر را به پروژه خود اضافه میکنیم :


using System.Data;
using System.Configuration;
using System.Data.SqlClient;

تبدیل DataReader به DataTable :

رکوردها از جدول Customer توسط SqlDataReader خوانده میشوند در نهایت یک جدول جدید ایجاد خواهد شد و رکوردهای DataReader درون DataTable توسط متد Load کپی میشوند.

protected void ConvertDataReaderToDataTable(object sender, EventArgs e)
{
    string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
    using (SqlConnection con = new SqlConnection(constr))
    {
        using (SqlCommand cmd = new SqlCommand("SELECT CustomerId, Name, Country FROM Customers"))
        {
            cmd.Connection = con;
            con.Open();
            using (SqlDataReader sdr = cmd.ExecuteReader())
            {
                //Create a new DataTable.
                DataTable dtCustomers = new DataTable("Customers");

                //Load DataReader into the DataTable.
                dtCustomers.Load(sdr);
                GridView1.DataSource = dtCustomers;
                GridView1.DataBind();
            }
            con.Close();
            
        }
    }
}

تبدیل DataReader به DataSet :

کوردها از جدول Customer توسط SqlDataReader خوانده میشوند سپس یک DataSet جدید ایجاد خواهد شد و یک DataTable به DataSet اضافه میشود در نهایت رکوردهای DataReader درون DataTable از DataSet توسط متد Load کپی میشوند.

protected void ConvertDataReaderToDataSet(object sender, EventArgs e)
{
    string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
    using (SqlConnection con = new SqlConnection(constr))
    {
        using (SqlCommand cmd = new SqlCommand("SELECT CustomerId, Name, Country FROM Customers"))
        {
            cmd.Connection = con;
            con.Open();
            using (SqlDataReader sdr = cmd.ExecuteReader())
            {
                //Create a new DataSet
                DataSet dsCustomers = new DataSet();
                dsCustomers.Tables.Add("Customers");

                //Load DataReader into the DataTable.
                dsCustomers.Tables[0].Load(sdr);
                GridView1.DataSource = dsCustomers;
                GridView1.DataBind();
            }
            con.Close();
        }
    }
}

فایل های ضمیمه