در زمان استفاده از يك بانك اطلاعاتی به عنوان يك منبع اطلاعاتی برای صفحات وب ، می بايست مراحل زير را دنبال نمود :

مشخص نمودن مسير ذخيره بانك اطلاعاتی
مشخص نمودن درايور نرم افزاری كه از آن برای دستيابی به بانك اطلاعاتی استفاده می گردد.
باز كردن ( open ) بانك اطلاعاتی
صدور يك عبارت SQL برای بازيابی فيلدهائی از داده موجود در جداول بانك اطلاعاتی
بازيابی و نمايش ركوردهای برگردانده شده بر روی صفحات وب
بستن ( close ) ارتباط ايجاد شده با بانك اطلاعاتی
قبل از ASP.NET 2.0 ، تمامی مراحل فوق با نوشتن اسكريپت انجام و اطلاعات موجود در بانك های اطلاعاتی پس از بازيابی بر روي صفحات وب نمايش داده می شد . در ASP.NET 2.0 اكثر مراحل فوق به صورت اتوماتيك و با بكارگيری كنترل های منبع داده انجام می شود .
كنترل های منبع داده يكی از مهمترين امكانات جديد ارائه شده در ASP.NET 2.0 می باشند . اين نوع كنترل ها ، مجموعه ای از كنترل های سرويس دهنده می باشند كه با هدف ارائه يك رويكرد تعريفی به منظور دستيابی و تغيير داده در منابع داده نظير بانك های اطلاعاتی طراحی شده اند . با استفاده از كنترل های منبع داده می توان بدون نياز به نوشتن جحم بالائی از كد به داده دستيابی داشت . در مقايسه با ASP.NET 1.x ، نيازی به تكرار كد مورد نياز به منظور دستيابی به داده نخواهيم داشت . مثلا" در ASP.NET 1.x برای نمايش محتويات يك بانك اطلاعاتی بر روی يك صفحه وب ، می بايست كد لازم به منظور تامين اهداف زير نوشته گردد :

ارتباط با بانك اطلاعاتی
تعريف و صدور يك دستور
بازيابی نتايج
كار با نتايج و در صورت ضرورت نسبت دهی آنان به يك كنترل سرويس دهنده نمايش داده نظير GridView
در ASP.NET 2.0 با حداقل كد می توان عمليات فوق را انجام داد .
در اين مقاله به بررسی دو كنترل مهم منبع داده AccessDataSource و SqlDataSource خواهيم پرداخت . با استفاده از كنترل های فوق می توان با مشخص نمودن SELECT query به همراه هر نوع پارامتر در WHERE clause (به عنوان خصلت های كنترل های منبع داده ) ، امكان بازيابی ركوردهائی خاص از يك بانك اطلاعاتی را فراهم نمود .
كد مورد نياز برای اتصال به بانك اطلاعاتی ، صدور دستور و بازيابی نتايج بدون درگير شدن پياده كننده صفحات وب توسط كنترل های منبع داده انجام می شود .
با استفاده از رويكرد تعريفی كنترل های منبع داده ، می توان در حداقل زمان ممكن صفحه ای را ايجاد نمود كه داده موجود در بانك های اطلاعاتی را نمايش دهد .

دستيابی به داده بانك های اطلاعاتی
ASP.NET 2.0 ، دو كنترل منبع داده خاص را به منظور دستيابی به داده موجود در يك بانك اطلاعاتی ارائه نموده است :

SqlDataSource : از كنترل فوق برای دستيابی به هر نوع بانك اطلاعاتی رابطه ای می توان استفاده نمود . پيشوند "Sql" در نام كنترل فوق به SQL Server مايكروسافت مربوط نمی شود و بيشتر منظور بانك های اطلاعاتی است كه با استفاده از عبارات SQL می توان با آنان سخن گفت و اطلاعاتی را از آنان بازيابی نمود . از كنترل فوق علاوه بر اين كه می توان به منظور دستيابی به بانك های اطلاعاتی SQL Server ، اكسس و يا اوراكل استفاده نمود ، همچنين می توان از آن برای دستيابی به هر نوع منبع داده سازگار با ODBC و يا OLE-DB نيز استفاده نمود .

AccessDataSource : كنترل فوق شباهت زيادی با كنترل SqlDataSource دارد . مهمترين تفاوت اين دو كنترل نحوه اتصال به يك بانك اطلاعاتی است ( استفاده از يك onnection string در مقابل مشخص نمودن مسير ذخيره بانك اطلاعاتی) . با استفاده از كنترل AccessDataSource ، می توان مسير ذخيره يك بانك اطلاعاتی اكسس ( فايل های با انشعاب mdb . ) را مشخص و آن را به خصلت DataFile كنترل نسبت داد .

هر دو كنترل فوق از لحاظ منطقی دارای ويژگی های يكسانی می باشند و تنها تفاوت آنان نحوه مشخص كردن اطلاعات مورد نياز جهت ارتباط با يك بانك اطلاعاتی است .شايد به نظر وجود كنترل *AccessDataSource غير ضروری* باشد چراكه با استفاده از كنترل SqlDataSource می توان به سادگی به يك بانك اطلاعاتی اكسس دستيابی داشت . ( ويژوال استوديو 2005 به صورت اتوماتيك Connection String مناسب برای بانك اطلاعاتی ذخيره شده در فولدر App_Data را ايجاد نمايد ) .
از دو كنترل فوق می توان به منظور دستيابی و ويرايش داده استفاده نمود .
در ادامه به منظور آشنائی با نحوه عملكرد كنترل های AccessDataSource و SqlDataSource مراحل زير را دنبال خواهيم كرد :

مرحله اول : ايجاد يك وب سايت با استفاده از ويژوال استوديو 2005
مرحله دوم : ايجاد يك بانك اطلاعاتی ( اكسس و يا SQL )
مرحله سوم : ايجاد يك صفحه جديد
مرحله چهارم : استفاده از يك كنترل منبع داده ( AccessDataSource و يا SqlDataSource ) و پيكربندی آن با استفاده از برنامه كمكی ( ويزارد ) مربوطه

مرحله پنجم : استفاده از يك كنترل سرويس دهنده نمايش اطلاعات ( نظير GridView ) و پيكربندی آن با استفاده از برنامه كمكی مربوطه
مرحله اول : ايجاد يك وب سايت با استفاده از ويژوال استوديو دات نت 2005
در مقاله " ايجاد يك وب سايت با استفاده از ويژوال استوديو 2005 " با نحوه ايجاد يك وب سايت آشنا شديم . يكی از مطالبی كه در اين مقاله به آن اشاره نگرديد ، جايگاه فولدر App_Data در وب سايت ايجاد شده توسط ويژوال استوديو 2005 است .
ASP.NET 2.0 در زمان ايجاد يك وب سايت ،* يك فولدر جديد و با نام App_Data را ايجاد می نمايد . در فولدر فوق می توان فايل های مورد نياز برای ذخيره سازی داده را ذخيره نمود . فايل های Xml ( فايل هائی با انشعاب xml. ) ، فايل های بانك اطلاعاتی اكسس ( فايل هائی با انشعاب mdb . ) و فايل های سرويس دهنده SQL ( فايل هائی با انشعاب mdf . ) نمونه هائی در اين زمينه می باشند ( ASP.NET می تواند با بانك های اطلاعاتی كه در فولدر فوق ذخيره نشده اند نيز كار كند ) .
صرفنظر از مكانی كه يك بانك اطلاعاتی ذخيره شده است ، می توان از كنترل های منبع داده AccessDataSource و يا SqlDataSource جهت ارتباط با آنان استفاده نمود.
برای آشنائی با نحوه ايجاد يك وب سايت با استفاده از ويژوال استوديو 2005 مطالعه مقاله " ايجاد يك وب سايت با استفاده از ويژوال استوديو 2005 " ( بخش اول و دوم ) توصيه می گردد .
در ادامه فرض می كنيم كه يك وب سايت جديد ايجاد شده است . شكل زير ساختار فايل ها و فولدرهای يك وب سايت جديد را نشان می دهد .





مرحله دوم : ايجاد يك بانك اطلاعاتی ( و يا استفاده از يك بانك اطلاعاتی موجود )
در اين مرحله از يك بانك اطلاعاتی اكسس كه قبلا" ايجاد شده است ( با نام Maghalat.mdb ) ، استفاده كرده و آن را به وب سايت جديد اضافه می نمائيم . بدين منظور پس از قرار گرفتن بر روی فولدر App_Data ، كليك سمت راست نموده و گزينه Add Existing Item را انتخاب نموده و پس از مشخص كردن مسير بانك اطلاعاتی ، آن را به وب سايت اضافه می نمائيم .




بانك اطلاعاتی Maghalat.mdb دارای سه جدول با نام Articles ، Authors و Artilcles_Category است :



مرحله سوم : ايجاد يك صفحه جديد
در اين مرحله پس از استقرار بر روی وب سايت جديد ( از طريق Soulution Explorer ) و فعال كردن موس (كليك سمت راست ) با انتخاب گزينه Add New Item و در ادامه انتخاب Web Form و مشخص نمودن نام صفحه جديد ( AccessToDataBase.aspx ) آن را به وب سايت اضافه می نمائيم .




مرحله چهارم : استفاده از يك كنترل منبع داده ( AccessDataSource و يا SqlDataSource ) و پيكربندی آن با استفاده از برنامه كمكی ( ويزارد )
در اين مرحله به منظور دستيابی به بانك اطلاعاتی maghalat.mdb ، يك كنترل منبع داده SqlDataSource را از طريق Toolbox ( بخش Data ) انتخاب كرده و آن را بر روی صفحه جديد ايجاد شده ( AccessToDataBase.aspx ) مستقر می نمائيم .



پس از استقرار يك كنترل منبع داده SqlDataSource ، يك جعبه كوچك خاكستری در كنار آن نمايش داده می شود .



برای دستيابی صحيح به داده ، می بايست مجموعه ای از خصلت های SqlDataSource را تنظيم نمود ( بانك اطلاعاتی و query مورد نظری است كه قصد اجرای آن را داريم ) . با اين كه می توان تنظيم خصلت های فوق را با استفاده از Properties pane انجام داد ولی با استفاده از ويزاردی كه در كنار كنترل و توسط لينك Configure Data Source فعال می گردند، اين كار سريعتر انجام می شود .
در بخش دوم ، نحوه پيكربندی كنترل منبع داده SqlDataSource و استقرار و پيكربندی يك كنترل نمايش داده نظير GridView به منظور نمايش اطلاعات را بررسی خواهيم كرد .