دستيابی و بهنگام سازی داده در ASP.NET 2.0 New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 چهارشنبه  29  دی  1395  2017  Jan.  18   Wendesday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 دستيابی و بهنگام سازی داده در ASP.NET 2.0  (بخش دوم)

 مديريت وب

10019

88

3.6

با توجه به جایگاه داده در عصر حاضر و  لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر  روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و  خدمات خود  را از طریق  سایت www.fabak.ir  به مخاطبان محترم عرضه می نماید

 

دستيابی و بهنگام سازی داده در ASP.NET 2.0

دستيابی و بهنگام سازی داده در ASP.NET 2.0  (بخش دوم)
در بخش اول  از مجموعه مقالات " دستيابی و بهنگام سازی داده در ASP.NET 2.0 " ، به منظور آشنائی با نحوه عملكرد كنترل های AccessDataSource  و SqlDataSource  به بررسی‌ يك مثال كاربردی پرداخته و بدين منظور مراحل زير تعريف و مراحل اول تا سوم تشريح گرديد . 

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

  • مرحله پنجم    : استفاده از يك كنترل سرويس دهنده نمايش اطلاعات ( نظير GridView ) و پيكربندی آن با استفاده از برنامه كمكی مربوطه

در ادامه به بررسی مراحل چهارم و پنجم خواهيم پرداخت .

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

پيكربندی كنترل منبع داده

برای پيكربندی كنترل SqlDataSource ، پس از كليك بر روی "configure Data Source "  مراحل زير را دنبال می نمائيم :

  • انتخاب بانك اطلاعاتی : در اولين مرحله اجرای برنامه كمكی ،‌می بايست بانك اطلاعاتی را مشخص نمود . Drop-Down  موجود ، ليست Connection string تعريف شده در فايل web.config ( بخش <ConnectionStrings > )  و بانك های اطلاعاتی موجود  در فولدر App_Data را نمايش می دهد . ( با توجه به اين كه در اين مثال قبلا" بانك اطلاعاتی Maghalat.mdb به وب سايت اضافه  و در فولدر App_Data ذخيره شده است ،‌ می بايست نام آن در ليست فوق موجود باشد) .
    در صورتی كه می خواهيم به يك بانك اطلاعاتی موجود و ذخيره شده در مكانی ديگر متصل شويم ، از دكمه New Connection استفاده نموده  و سرويس دهنده بانك اطلاعاتی و اطلاعات لازم جهت تائيد و بررسی مجوزهای مربوطه را مشخص می نمائيم .
    شكل زير ، اولين مرحله اجرای برنامه كمكی "پيكربندی كنترل SqlDataSource " را نشان می دهد :

  • تعريف يك Connection String و كسب تكليف در خصوص ذخيره آن در فايل Web.config : پس از انتخاب بانك اطلاعاتی با كليك بر روی دكمه Next ، در صورتی كه تاكنون يك <ConnectionString> برای اين بانك اطلاعاتی در فايل Web.config تعريف نشده باشد ، ويزارد مربوطه اين كار را برای شما انجام خواهد داد . تعريف يك Connection String در فايل web.config دارای مزايای متعددی است كه مهمترين آن ، سهولت در پشتيبانی و نگهداری نرم افزار است . مثلا" در صورت تغيير سرويس دهنده بانك اطلاعاتی ، صرفا" می بايست تغييرات فوق در يك نقطه ( فايل Web.config ) اعمال گردد . در صورت عدم ذخيره Connection String در فايل Web.config ، می بايست تمامی صفحاتی را كه از Connection String فوق استفاده می نمايند را فعال و تغييرات لازم را در آنان اعمال نمود . علاوه بر مزيت فوق ، با ذخيره  connection String در فايل Web.config  می توان به منظور افزايش ايمنی و امنيت وب سايت مورد نظر ، آن را  رمز نمود .
    در شكل زير ،‌ برای Connection String نام MaghalatConnectionString در نظر گرفته شده و موافقت خود را با ذخيره آن در فايل Web.config اعلام كرده ايم .

  • انتخاب يك عبارت SELECT : در ادامه می بايست يك عبارت SELECT را انتخاب نمود . با استفاده از دو radio button موجود در بالای صفحه ، می توان يك table و يا view را انتخاب و ستون هائی را كه می بايست داده آنان برگردانده شود را مشخص نمود ( در اين مرحله می توان يك عبارت SQL سفارشی و يا يك Stored Procedure را نيز انتخاب نمود ) . با استفاده از ليست موجود يك Table و يا View را انتخاب و در ادامه ستون های مورد نظری را كه می بايست مقادير آنان برگردانده شوند را از طريق ليست دوم ، مشخص می نمائيم . در اين مثال ،‌ فيلدهای Title و Description انتخاب شده اند . query فوق ، تمام ركوردهای موجود در جدول Articles را برمی گرداند  .
    شكل زير نحوه انتخاب يك جدول و ستون های مورد نظر را نشان می دهد .

  • مشخص كردن نحوه مرتب سازی ركوردهای برگردانده شده : ركوردهای برگردانده شده از يك منبع داده به صورت پيش فرض بر اساس اولويت ذخيره در بانك اطلاعاتی نمايش داده خواهند شد . در صورتی كه يك ايندكس كلاستر شده ( نظير  محدوديت يك primary key ) بر روی يك جدول تعريف شده باشد ، داده بر اساس ستون و يا ستون هائی كه ايندكس را ايجاد نموده اند ، مرتب می گردد. برای مشخص كردن نحوه مرتب سازی ركوردهای برگردانده شده ، پس از كليك بر روی دكمه ORDER BY ، می توان ستون و يا ستون های مورد نظر را انتخاب نمود. همچنين با استفاده از امكانات اين بخش می توان وضعيت مرتب سازی ( صعودی و يا نزولی ) را نيز مشخص نمود .
    شكل زير ، نحوه مرتب سازی ركوردهای برگردانده شده در بانك اطلاعاتی Maghalat.mdb را نشان می دهد .

  • تعريف يك SELECT query سفارشی ( در صورت ضرورت ) : برای ايجاد يك عبارت SELECT می توان از يك table و يا view استفاده نمود . يكی از ويژگی های مهم بانك های اطلاعاتی رابطه ای ، ذخيره داده در چندين جدول مرتبط به هم است . در صورتی كه می خواهيم داده موجود در چندين جدول را با توجه به خواسته موجود بازيابی نمائيم ،‌ می توان از JOIN استفاده نمود . همچنين امكان استفاده از يك Stored Procedure برای بازيابی ركوردها نير وجود دارد . در چنين مواردی می بايست گزينه "Specify a custom SQL statement of stored procedure" را انتخاب و در ادامه از دكمه Next استفاده نمود ( در مرحله ای كه می بايست يك عبارت SELECT را انتخاب نمود ) . پس از نمايش پنجره مربوطه ، می توان يك SQL query را به صورت دستی تايپ و يا از طريق  ليست موجود يك Stored procedure را انتخاب نمود .

  • اجرای Query و بررسی نتايج : پس از پيكربندی عبارت SELECT ( از طريق يك table و يا view ، يك stored procedure و يا نوشتن يك عبارت SQL خاص ) ، با كليك بر روی دكمه Next ، صفحه نهائی ويزارد پيكربندی كنترل منبع داده نمايش داده می شود . در اين مكان می توان query را اجراء و نتايج را مشاهده نمود .

  • اتمام عمليات : با كليك بر روی دكمه Finish ، فرآيند پيكربندی كنترل منبع داده SqlDataSource به پايان می رسد .

نكته : در صورت استفاده از  كنترل AccessDataSource ، مراحل فوق  تا حدودی متفاوت است . مثلا" در مقابل اين كه از شما درخواست گردد  كه يك Connection String را مشخص نمائيد ، می بايست مسير فايل بانك اطلاعاتی را مشخص نمود . با توجه به اين كه در چنين مواردی از يك  connection String استفاده نخواهد شد ، صفحه مربوط به تعريف يك نام برای Connection String و ذخيره آن در فايل Web.Config  را مشاهده نخواهيم كرد .

مرحله پنجم : استفاده از يك كنترل سرويس دهنده نمايش اطلاعات ( نظير GridView ) و پيكربندی آن با استفاده از برنامه كمكی مربوطه
پس از دستيابی به داده موجود در يك بانك اطلاعاتی ، ممكن است بخواهيم بدون انجام هيچگونه پردازش آنان را مستقيما" بر روی يك صفحه وب نمايش دهيم . برای نمايش داده می توان از يكی از كنترل های سرويس دهنده نمايش اطلاعات ( يا كنترل های داده وب ) نظير Gridview  استفاده و خصلت DataSourceID آن را به ID كنترل منبع داده ( در اين مثال SqlDataSource ) نسبت داد.
برای استفاده و پيكربندی Gridview به منظور نمايش داده بازيابی شده از بانك اطلاعاتی Maghalat.mdb مراحل زير را دنبال می نمائيم :

  • انتخاب كنترل Gridview از toolbox ( بخش Data )

  • استفاده از امكانات ارائه شده در GridView tasks نظير انتخاب Data Source ( از ليست موجود ، كنترل منبع داده را انتخاب می نمائيم ).

 شكل زير اجرای برنامه و نمايش مقالات در بانك اطلاعاتی Maghalat.mdb را نشان می دهد .

نحوه دستيابی به داده برگردانده شده توسط SqlDataSource از طريق كد
در صورت تمايل می توان با استفاده از برنامه به محتويات يك كنترل SqlDataSource دستيابی داشت  . اجازه دهيد قبل از اين كه ببينيم كه چه عملياتی اتفاق می افتد ، نحوه برگرداندن داده توسط كنترل SqlDataSource را بررسی نمائيم . در نسخه ASP.NET 1.x  از دو روش و يا شی به منظور كار با داده استفاده می گردد :

  • DataReader : ساختمان داده فوق يك ساختار به منظور كار با داده برگردانده شده از يك بانك اطلاعاتی را ارائه می نمايد كه دارای ويژگی هائی نظير : فقط خواندنی  و صرفا" به سمت جلو می باشد  و به يك اتصال فعال نياز دارد ( ساختار فوق دارای كارائی به مراتب بيشتری نسبت به DataSet  ، DataTables و DataView است ) .

  • DataSet ، DataTables و DataView : در صورت استفاده از يك DataTable امكان دستيابی تصادفی و قابل ويرايش به ركوردهای برگردانده شده از يك بانك اطلاعاتی فراهم می گردد . يك DataSet ، مجموعه ای از DataTable است . از DataView می توان به منظور بازيابی يك مجموعه مرتب شده و يا فيلتر شده از ركوردهای موجود در يك Datatable استفاده نمود .

برای آشنائی بيشتر با تفاوت هر يك از ساختارهای فوق ، مطالعه مقاله " DataSet و يا DataReader  " پيشنهاد می گردد.
برای دستيابی  به محتويات كنترل SqlDataSource از طريق برنامه ، می توان از متد Select استفاده نمود . متد فوق از يك پارامتر ورودی از نوع DataSourceSelectArguments استفاده می نمايد . از پارامتر فوق می توان به منظور ارسال درخواست خود به كنترل SqlDataSource قبل از برگرداندن داده استفاده نمود . مثلا" زمانی كه از يك كنترل Gridview با قابليت مرتب سازی استفاده می گردد ، برای مرتب سازی يك ستون از متد Select استفاده خواهد شد  و از يك آرگومان DataSourceSelectArguments  كه مقدار آن از خصلت SortExpression نسبت داده شده به نام ستون اقتباس می گردد ، استفاده می شود . در صورت عدم تمايل  به عمليات مرتب سازی و  فيلتر نمودن داده  و يا برگرداندن صرفا" يك صفحه داده توسط  SqlDataSource ، می توان پارامتر DataSourceSelectArguments.Empty را برای كنترل ارسال نمود .

جمع بندی
در دو مقاله اخير با نحوه دستيابی به يك بانك اطلاعاتی با استفاده از كنترل های SqlDatSource و AccessDataSource آشنا شديم . در مقالات فوق ، صرفا" نحوه بازيابی  ركوردهای مورد نظر  از يك جدول بانك اطلاعاتی تشريح گرديد . كنترل های فوق دارای قابليت های گسترده ديگری می باشند كه در آينده به بررسی آنان خواهيم پرداخت . پس از استفاده از  يك كنترل منبع داده نظير SqlDataSource و يا AccessDataSource در ادامه می توان از برنامه كمكی "پيكربندی منبع داده " همراه كنترل به منظور پيكربندی منبع داده استفاده نمود . پس از پيكربندی كنترل منبع داده ، می توان داده را مستقميا" به يك كنترل سرويس  دهنده نمايش اطلاعات نظير GridView نسبت داد و يا با استفاد از كد و نوشتن كدهای لازم از طريق برنامه و با فراخوانی متد Select كنترل SqlDataSource به آنان دستيابی داشت .
 



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382