عنوان
|
نويسنده
|
مشاهده
|
تعداد
آراء |
امتياز
|
ذخيره و بازيابی داده توسط ADO.NET (بخش اول) |
مديريت وب |
24515 |
52 |
3.6 |
با توجه به جایگاه داده در عصر حاضر و لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و خدمات خود را از طریق سایت www.fabak.ir به مخاطبان محترم عرضه می نماید
 |
ذخيره و بازيابی داده توسط ADO.NET (بخش اول)
ذخيره و بازيابی
داده توسط ADO.NET (بخش اول)
با استفاده از
ADO.NET ، امکان اتصال به منابع داده متفاوت
، بازيابی ، پردازش و بهنگام سازی داده ، فراهم می گردد . ADO.NET
از XML به منظور انتقال داده
بين برنامه ها و منابع داده استفاده می نمايد .ويژوال استوديو دات نت دارای امکانات
متعددی به منظور دستيابی به بانک های اطلاعاتی
(برخاسته از ADO.NET
)
، می باشد. پس از اتصال به يک بانک اطلاعاتی می توان با استفاده از مجموعه ای از
اشياء ، خصلت ها و متدها ، صرفنظر از نوع بانک اطلاعاتی ، عمليات مورد نظر خود در
ارتباط با يک بانک اطلاعاتی را انجام داد. در اين مقاله به بررسی امکانات
ويژوال استوديو دات نت به منظور اتصال به يک بانک اطلاعاتی و انجام عمليات متفاوتی
همچون خواندن ، تغيير و حذف رکوردهای موجود در يک بانک اطلاعاتی ، خواهيم
پرداخت .
مبانی اوليه
ADO.NET
به منظور دستيابی به داده در ADO.NET
، سه لايه وجود دارد :
-
محل فيزيکی ذخيره
سازی داده : لايه فوق می تواند يک بانک اطلاعاتی
OLE ، يک بانک اطلاعاتی SQL و يا
يک فايل XML باشد .
-
ارائه دهنده داده
:
لايه فوق ، شامل شی Connection و
اشياء Command بوده
و تصويری
از داده ها را در حافظه ايجاد می نمايد.
-
Data set : لايه
فوق ، رکوردهای بازيابی شده از يک منبع داده را در خود نگهداری می نمايد.
يک Data Set شامل رکوردهائی از يک و يا چندين جدول می
باشد .

لايه ارائه دهنده
داده ، واسطه بين محل ذخيره سازی داده و Data Set
، می باشد .Data Set مستقل از منبع
داده است .
در
ADO.NET از دو نوع Connection
به منظور اتصال به يک بانک اطلاعاتی ( با توجه به نوع بانک اطلاعاتی )
استفاده می گردد :
-
شی
OleDbConnection که از آن به منظور ارتباط به يک
بانک اطلاعاتی محلی استفاده می گردد. اين نوع ارتباطات از شی
OleDbDataAdapter به منظور اجرای دستورات
و برگرداندن داده استفاده می نمايند .
-
شی
SqlDbConnection که
از آن به منظورارتباط به يک بانک اطلاعاتی سرويس دهنده ، استفاده می
گردد.اين نوع ارتباطات
از شی SqlDbDataAdapter
به منظور اجرای دستورات و برگرداندن داده استفاده می نمايند .
علاوه بر موارد فوق ،
امکان دستيابی مستقيم به فايل های XML
با استفاده از متدهای ReadXML و
WriteXML مربوط به شی DataSet
، نيز وجود دارد.
اشياء ، خصلت ها و متدهای حمايت شده توسط ADO.NET
توسط سه namespace ارائه می گردد :
-
System.Data
: در
اين namespace کلاس ها ، نوع ها و سرويس های لازم به
منظور ايجاد و دستيابی به data set
و اشياء زير مجموعه آن وجود دارد .
-
System.Data.SqlClient
: در اين namespace کلاس ها و نوع های لازم به منظور
دستيابی به بانک های اطلاعاتی SQL Server
، وجود دارد.
-
System.Data.OleDb
: در اين namespace کلاس ها و نوع های لازم به منظور
دستيابی به بانک های اطلاعاتی OLE
، وجود دارد .
در زمان دستيابی و
استفاده از بانک های اطلاعاتی ( از طريق کد نوشته شده ) ، می بايست از عبارت
Imports در ابتدای
ماژول استفاده گردد .
VB.NET |
Imports System.Data
Imports System.Data.SqlClient 'For SQL database Connection
Imports System.Data.OleDb 'For
OLE DB database Connection
|
به منظور دستيابی
داده از طريق ADO.NET
، مراحل زير را دنبال می نمائيم :
-
ايجاد ارتباط با
بانک اطلاعاتی توسط يک شی Connection
-
فراخوانی يک
command به منظور ايجاد يک Dataset
با استفاده از يک شی adapter
-
استفاده از شی
DataSet
(در کد نوشته شده ) ، به منظورنمايش داده و يا تغيير آيتم های موجود در بانک
اطلاعاتی
-
فراخوانی يک
Command به منظور بهنگام سازی بانک
اطلاعاتی از طريق DataSet با استفاده از يک شی
adapter
-
غير فعال نمودن (
Close ) ارتباط ايجاد شده با بانک اطلاعاتی در صورتيکه
ارتباط با بانک اطلاعاتی توسط متد Open
فعال شده باشد .
در ادامه به تشريح هر
يک از مراحل فوق خواهيم پرداخت .
ارتباط با بانک اطلاعاتی
با استفاده از Server Explorer
در ويژوال استوديو دات نت ، امکان ايجاد يک ارتباط با بانک اطلاعاتی فراهم می گردد.
در اين رابطه مراحل زير را دنبال می نمائيم (در حالت Design
) :


-
از طريق
Provider Tab ، نوع بانک اطلاعاتی
را مشخص می نمائيم . به صورت پيش فرض ، OLE DB Provider for SQL
Server انتخاب شده است . در صورتيکه بانک اطلاعاتی تحت
SQL Server اجراء می گردد ، انتخاب پيش فرض درست می
باشد . به منظور دستيابی به يک نوع ديگر بانک اطلاعاتی ، می بايست
Provider مربوطه را انتخاب نمود. مثلا" برای دستيابی به يک
بانک اطلاعاتی اکسس ، Micosoft Jet 4.0 OLE DB
انتخاب می گردد .
-
از طريق
Connection Tab ، بانک اطلاعاتی مورد نظری
که قصد برقراری ارتباط با آن وجود دارد را انتخاب می نمائيم
-
پس از اعمال
تنظيمات لازم با کليک نمودن بر روی دکمه
Test Connection ، می توان از صحت تنظيمات انجام
شده ، اطمينان حاصل نمود .پس از تست موفقيت آميز ارتباط ايجاد شده با بانک
اطلاعاتی ، ويژوال استوديو دات نت ، ارتباط ايجاد شده را به Server
Explorer اضافه می نمايد .
-
با کليک
نمودن بر روی علامت "+" ، آيتم های
مربوط به بانک اطلاعاتی نمايش داده خواهند شد . برای مشاهده جداول ، می توان آيتم
های مربوطه را تحت Data Connection فعال و در ادامه از
طريق Table و فعال نمودن آن ،
جداول مربوط به بانک اطلاعاتی را مشاهده نمود.


ايجاد يک Data Set
با استفاده از اشياء
Connection و Adapter ( ايجاد شده در بخش
قبل )، می توان يک Data set را ايجاد نمود. برای ايجاد يک
Data set پس از استقرار در حالت Design
، مراحل زير را دنبال می نمائيم .

-
جداول مورد نظر را
برای اضافه نمودن به Data set
انتخاب کرده و در ادامه بر روی دکمه Ok کليک می نمائيم .
ويژوال استوديو يک Data set جديد
راايجاد و آن را به فرم وب اضافه می نمايد .
-
برای مشاهده داده
موجود در Data set ، ( در حالت
Desgin ) برروی شی DataSet کليک
سمت راست نموده و گزينه View Schema را انتخاب می نمائيم
. در ادامه Data Set در پنجره XML Designer
نمايش داده می شود .

نمايش يک Data set
برای نمايش يک Data Set
بر روی يک فرم وب و در زمان اجراء ، مراحل زير را دنبال می نمائيم :
-
افزودن يک کنترل بر
روی فرم وب به منظور نمايش داده . مثلا" می توان يک کنترل
DataGrid را به فرم وب
اضافه نمود .
-
انتخاب
Data set به عنوان منبع داده برای
کنترل . مثلا" برای کنترل DataGrid ، گزينه
Property Builder را از طريق پنجره Properties
انتخاب و DataSource آن را به شی Dataset
نسبت داده و خصلت DataMember را به يک جدول در
Data Set نسبت می دهيم .



VB.NET |
Private Sub Page_Load (ByVal sender As
System.Object , ByVal e As System.EventArgs ) Handles Mybase.Load
SqlDataAdapter1.Fill ( SrcoDataSet11)
DataGrid1.DataBind ( )
End Sub
|

با توجه به اين که پر
نمودن Data set و نسبت دهی داده به
کنترل DataGrid از طريق رويداد Page_Load
انجام می شود ، ضرورتی به نگهداری اطلاعات وضعيت برای کنترل DataGrid
وجود نخواهد داشت . با مقداردهی خصلت EnableViewState
به False ، کارائی برنامه بهبود می
يابد.
تغيير رکوردها در يک بانک اطلاعاتی
DataSet
يک شی اصلی و مهم در ADO.NET بوده و هرگونه تغييرات شامل
افزودن ، حذف و يا تغيير رکوردهای موجود در يک بانک اطلاعاتی عموما" از طريق شی
فوق، انجام می شود . برای تغيير رکوردها از طريق يک DataSet
مراحل زير را دنبال می نمائيم .
از مجموعه های
Tables,Rows و Columns
برای دستيابی به داده موجود در يک DataSet
استفاده می گردد . در بخش دوم اين مقاله با نحوه استفاده از مجموعه های فوق به
منظور ويرايش يک بانک اطلاعاتی ، آشنا خواهيم شد.
|