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

دوشنبه 21 اردیبهشت 1394

در این مقاله به تبدیل و کپی 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();
        }
    }
}

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

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید