دستیابی به داده از جمله عملیات مهم در زمان پیاده سازی هر نوع برنامه کامپیوتری است و برنامه های وب نیز از این قاعده مستثنی نمی باشند . امروزه صفحات وبی که در ارتباط با داده بوده و حاوی اطلاعاتی می باشند که از بانک های اطلاعاتی بازیابی و نمایش داده می شود به یکی از ارکان اصلی هر نوع برنامه تجاری تبدیل شده است . پیاده کنندگان برنامه های کامپیوتری خصوصا” برنامه های وب همواره برای پیاده سازی برنامه هائی که در ارتباط با داده می باشند با چالش های خاص خود مواجه بوده و آرزو می نمایند که بتوانند با صرف کمترین زمان و نوشتن حداقل کد لازم به اهداف خود نائل گردند . با ارائه ASP.NET 2.0 ، زمینه تحقق خواسته فوق برای پیاده کنندگان برنامه های وب فراهم می گردد . چراکه در این نسخه از ASP.NET علاوه بر ارائه بیش از پنجاه کنترل جدید ، امکانات متعددی به منظور بهبود و تسهیل عملیات در ارتباط با داده ارائه شده است . پیاده کنندگان برنامه های وب که از ASP کلاسیک و یا ASP.NET 1.1 برای طراحی و پیاده سازی برنامه های خود استفاده می نمایند ، می بایست پس از نوشتن کد لازم به منظور دستیابی و بازیابی داده از منابع ذخیره سازی ، یک قالب و یا فرمت مناسب جهت نمایش اطلاعات در مرورگر را نیز ایجاد نمایند . با این که ویژوال استودیو دارای برنامه های کمکی خاصی ( ویزارد ) در این رابطه می باشد ، ولی استفاده از ویژگی های پیشرفته ای نظیر Paging و مرتب سازی داده ها ، همچنان مستلزم همگرائی بین کدهای نوشته شده در لایه back-end و اطلاعات مورد نظر جهت نمایش در لایه front-end است . در اغلب موارد نگهداری و یکسان سازی کدهای فوق نیز مشکل می باشد خصوصا” در مواردی که بانک اطلاعاتی تغییر می یابد و یا می بایست اطلاعات اضافه ای را بر روی یک صفحه خاص نمایش دهیم . علاوه بر موارد فوق ، استفاده از فایل های XML به عنوان منابع ذخیره سازی داده نیز مستلزم نوشتن خطوط زیادی است تا بتوان یک همگرائی خاص بین منبع داده و منطق دستیابی داده را ایجاد نمود . در ASP.NET 2.0 کد مورد نیاز به منظور دستیابی و نمایش داده کاهش و از این طریق کارآئی و بهره وری برنامه های وب بطرز محسوسی افزایش می یابد . در این رابطه ، کنترل های جدیدی ارائه شده است که قدرت کنترل و انعطاف پیاده کنندگان به منظور انجام عملیات در ارتباط با داده را افزایش می دهد. کنترل های داده جدید را می توان به همراه مجموعه وسیعی از منابع داده استفاده نمود ( از بانک های اطلاعاتی سنتی تا منابع داده جدید XML ) . بدین ترتیب تمامی منابع داده یک رفتار همگن را خواهند داشت و به دنبال آن حجم و پیچیدگی برنامه های وب مبتنی بر داده ، کاهش می یابد.
پاسخ : دستیابی داده در ASP.NET 2.0 دستیابی داده در برنامه های وب درفریمورک دات نت ، دستیابی داده با استفاده از ADO.NET انجام می شود . ADO.NET در حقیقت یک رابط و یا اینترفیس برنامه نویسی است که مجموعه امکانات لازم به منظور کار با بانک های اطلاعاتی را در اختیار پیاده کنندگان برنامه های وب قرار می دهد . اینترفیس فوق با ایجاد یک لایه اضافه ، جزئیات و پیچیدگی های موجود به منظور دستیابی به داده را از دید پیاده کنندگان مخفی نگه می دارد . برنامه های وب نوشته شده با استفاده از ASP.NET 2.0 از پتانسیل های ارائه شده توسط ADO.NET نظیر : ارتباط اتوماتیک با انواع متفاوتی از منابع داده ، ایجاد کنترل های کاربر در ارتباط با داده و سایر موارد دیگر استفاده می نمایند . بدین ترتیب حجم کد مورد نیاز برای نوشتن برنامه های وب مبتنی بر داده کاهش یافته و نگهداری و پشتیبانی از این نوع برنامه ها شرایط مطلوب تری را پیدا خواهد کرد .
پاسخ : دستیابی داده در ASP.NET 2.0 معماری دستیابی داده دستیابی داده در برنامه های وب دات نت براساس یک ساختار و یا معماری دو لایه ای انجام می شود (دو لایه جداگانه ) . اولین لایه ، شامل عناصر ضروری فریمورک به منظور دستیابی به داده است . دومین لایه ، شامل APIs و کنترل هائی است که قابلیت های دستیابی به داده را در اختیار برنامه نویسان قرار می دهد . دستیابی به داده مستلزم بکارگیری چهار عنصر اساسی زیر است : برنامه وب ( ASP.NET ) لایه داده ( ADO.NET ) ارائه دهنده داده ( Data Provider ) منبع داده ( Data Source) ارتباط بین عناصر فوق، زیرساخت و یا فونداسیون لازم برای تمامی برنامه های وب مبتنی بر داده را ارائه می نماید .
پاسخ : دستیابی داده در ASP.NET 2.0 منابع ذخیره سازی داده منابع ذخیره سازی داده ، نقطه نهائی در معماری دستیابی داده بوده که بدون وجود آنان اصل مسئله دستیابی داده زیر سوال می رود . با استفاده از ADO.NET 2.0 و کنترل های جدید ارائه شده در ASP.NET 2.0 ، یک برنامه وب قادر به دستیابی داده از منابع داده متنوعی نظیر : بانک های اطلاعاتی رابطه ای ، فایل های XML ، سرویس های وب ، فایل های متنی و یا داده های موجود در فایل های Excel می باشد . بخاطر داشته باشید که منابع ذخیره سازی داده با این که دارای جایگاه خاص خود می باشند ولی از آن مهمتر ، مکانیزم هائی می باشند که با استفاده از آنان به منابع داده متصل و عملیات مرتبط با داده را انجام خواهیم داد
پاسخ : دستیابی داده در ASP.NET 2.0 Data providers ADO.NET ، به منظور ارتباط با منابع داده متفاوت از مجموعه ای کلاس و دستور استفاده می نماید که آنان را مدیون Provider model است . در واقع Provider ، مجموعه ای از اینترفیس ها و کلاس های لازم به منظور ذخیره و بازیابی داده در ارتباط با یک منبع داده خاص را ارائه می نماید. بدیهی است مهمترین دستاورد رویکرد فوق ، انعطاف لازم به منظور نوشتن کد مورد نیاز برای دستیابی به داده ( استفاده از ADO.NET ) از چندین نوع منبع داده می باشد . در ASP.NET 2.0 ، همچنان از Provider model به منظور انجام عملیات مختلف در ارتباط با دستیابی داده استفاده می گردد .
پاسخ : دستیابی داده در ASP.NET 2.0 ADO.NET API ADO.NET API ، شامل امکاناتی است که با استفاده و بکارگیری آنان تمامی منابع داده یکسان بنظر می آیند .صرفنظر از منبع داده ، پردازش لازم به منظور بازیابی و استخراج اطلاعات ، مستلزم استفاده از کلاس های کلیدی و عملیات مشابهی است . دربخش دوم با این لایه و امکانات آن بشتر آشنا خواهیم شد.
پاسخ : دستیابی داده در ASP.NET 2.0 لایه برنامه وب ASP.NET ( بالاترین لایه ) با ارائه مجموعه ای از کنترل ها و امکانات باعث کاهش حجم کد مورد نیاز به منظور دستیابی به داده می گردد. مثلا” پیاده کنندگان برنامه های وب می توانند از برنامه کمکی ( ویزارد) منبع داده برای ایجاد و پیکربندی اتوماتیک یک منبع داده استفاده نمایند و در ادامه با اجرای query دلخواه خود ،نتایج مورد نظر را بازیابی نمایند . علاوه بر این ، می توان کنترل های متفاوتی را به یک منبع داده نسبت داد . بدین ترتیب شکل ظاهری و محتوی کنترل می تواند به صورت اتوماتیک مقداردهی گردد ( بر اساس اطلاعات بازیابی شده از منبع داده ) . کنترل های فوق در اشکال و اندازه های متفاوتی ارائه شده اند ( نظیر Grids ,Trees,Menus و lists ) . برای نسبت دهی یک کنترل به یک منبع داده از خصلت DataSourceID استفاده می شود که می توان آن را در زمان طراحی و یا اجراء تعریف نمود . کنترل های منبع داده از طریق امکانات ارائه شده توسط یک provider به یک منبع داده نسبت داده می شوند. مهمترین مزیت یک کنترل منبع داده، امکان استفاده از آنان در صفحات مورد نیاز است. علاوه بر این ، برای انجام عملیاتی نظیر paging ، مرتب سازی و بهنگام سازی ضرورتی به نوشتن حتی یک خط کد نخواهد
پاسخ : دستیابی داده در ASP.NET 2.0 Data Access APIs لایه دوم در معماری دستیابی داده ، مکانیزم های لازم برای کار با ADO.NET ، کنترل های ASP.NET و providers را ارائه می نماید. از امکانات ارائه شده در این لایه می توان به منظور انجام مجموعه ای از عملیات و فرآیندهای متداول استفاده نمود . با استفاده از کنترل های متنوع منبع داده و نسبت دهی داده در ASP.NET 2.0 ، حجم کد مورد نیاز به منظور حمایت از عملیات در ارتباط با داده کاهش و در مواردی نیز حذف می گردد
پاسخ : دستیابی داده در ASP.NET 2.0 Connection و Commands ADO.NET از چندین Data Provider متفاوت برای اتصال به بانک های اطلاعاتی ، اجرای دستورات و بازیابی نتایج استفاده می نماید . در ADO.NET از شی Connection برای اتصال به یک منبع داده خاص استفاده می گردد . مثلا” در صورت استفاده از بانک اطلاعاتی SQL Server 2000 ، می توان از شی SQLConnection به منظور اتصال به بانک اطلاعاتی استفاده نمود . کد زیر روش انجام این کار را نشان می دهد : [Visual Basic] Dim nwindConn As SqlConnection = _ New SqlConnection(“Data Source=localhost;Integrated Security=SSPI;” _ “Initial Catalog=northwind”) nwindConn.Open() [C#] SqlConnection nwindConn = new SqlConnection(“Data Source=localhost; Integrated Security=SSPI;” “Initial Catalog=northwind”); nwindConn.Open();
پاسخ : دستیابی داده در ASP.NET 2.0 دستیابی داده در ASP.NET 2.0 پس از اتصال به یک منبع داده ، می توان از شی Command به منظور اجرای دستورات و برگرداندن نتایج مورد نظر استفاده نمود .شی Command از طریق Command constructor که یک query و یا عبارت SQL را دریافت می نماید ، ایجاد می گردد . پس از ایجاد شی Command با استفاده از خصلت CommandText می توان عبارات SQL را ویرایش کرد . [Visual Basic] Dim catCMD As SqlCommand = _ New SqlCommand(“SELECT CategoryID, CategoryName FROM Categories”,nwindConn) [C#] SqlCommand catCMD = new SqlCommand(“SELECT CategoryID, CategoryName FROM Categories”, nwindConn);