مفهوم ADO.NET در ASP.NET

در این پست می خواهیم به بررسی مفهوم ADO.NET که شامل DataTable، DataSet، DataReader و DataAdapter می باشد و همچنین برخی تفاوت های موجود بین آن ها بپردازیم.

همانطور که می دانید ADO.NET يك رابط برنامه نويسی است كه مجموعه امكانات لازم به منظور برقراري اتصال با بانك های اطلاعاتی را در اختيار توسعه دهندگان برنامه های وب قرار می دهد.

ADO.NET ، از يک مدل شی گراء در رابطه با NET Data Providers  . استفاده می نمايد . در SQL Server .NET Data Provider ، اسامی کلاس ها با پيشوند Sql آغاز می گردد . مثلا" کلاس Connection  ،  SqlConnection  ناميده می شود.

DataTable:

نشان دهنده یک جدول در بانک اطلاعاتی می باشد.

در آن سطر و ستون نمایش داده می شود.

DataSet یک مجموعه از Data Table  می باشد.

در آن رکوردها ذخیره می شوند.

کد نمایش DataTable در aspx.cs

protected void BinddataTable()   
{  
    SqlConnection con = new SqlConnection("your database connection string");  
    con.Open();  
    SqlCommand cmd = new SqlCommand("Write your query or procedure", con);  
    SqlDataAdapter da = new SqlDataAdapter(cmd);  
    DataTable dt = new DataTable();  
    da.Fill(dt);  
    grid.DataSource = dt;  
    grid.DataBind();  
} 

DataSet

dataset می تواند در یک زمان چندین جدول را نگهداری کند.

dataset اجازه دسترسی به داده ها برای خواندن و نوشتن آسان عملیات داده از دیتابیس را می دهد.

 ذخیره داده ها در سیستم محلی می باشد.

dataset چندین سطر را در یک زمان نگهداری می کند.

dataset از حافظه بیشتری استفاده می کند.

dataset رابطه ها را حفظ می کند.

dataset داده ها را از بانک پر می کند.

 

کد نمایش DataSet در aspx.cs

protected void BindDataSet()   
{  
    SqlConnection con = new SqlConnection("your database connection string ");  
    con.Open();  
    SqlCommand cmd = new SqlCommand("Write your query or procedure ", con);  
    SqlDataAdapter da = new SqlDataAdapter(cmd);  
    DataSet ds = new DataSet();  
    da.Fill(ds);  
    grid.DataSource = ds;  
    grid.DataBind();  
}  

 

DataReader

datareader در هر زمان تنها یک جدول را نگه می دارد.

datareader تنها حالت دستیابی read دارد و در آن حالت نمی توان داده ای نوشت.

datareader نیاز به ذخیره سازی محلی برای ذخیره داده ندارد.

datareader در هر لحظه یک سطر را نگه می دارد.

datareader از حافظه کمتری استفاده می کند.

datareader رابطه ها را حفظ نمی کند.

کد نمایش DataReader در aspx.cs

protected void Bind()   
{  
    SqlConnection con = new SqlConnection("your database connection string ");  
    con.Open();  
    SqlCommand cmd = new SqlCommand("Write your query or procedure ", con);  
    SqlDataReader dr = cmd.ExecuteReader();  
    grid.DataSource = dr;  
    grid.DataBind();  
} 

 

DataAdapter

DataAdapter یک معماری غیراتصال گرا می باشد.

DataAdapter یک نوع پل بین dataset و دیتابیس می باشد.

DataAdapter برای خواندن اطلاعات از DataTable و پر کردن dataset استفاده می شود.

کد نمایش DataAdapter در aspx.cs

protected void Bind()   
{  
    SqlConnection con = new SqlConnection("your database connection string ");  
    con.Open();  
    SqlCommand cmd = new SqlCommand("Write your query or procedure ", con);  
    SqlDataAdapter da = new SqlDataAdapter(cmd);  
    DataSet ds = new DataSet();  
    da.Fill(ds);  
    grid.DataSource = ds;  
    grid.DataBind();  
}