ADO.NET Connected Data Model in ASP.NET

ये ASP.NET के माध्‍यम से Underlying Data Source के साथ Interact करने का सबसे Simple तरीका होता है, जिसके अन्तर्गत हम Direct Data Access तरीके को Use करते हुए SQL Commands Create करते हैं और उन Commands को Underlying Data Source पर Execute करते हुए Query, Insert, UpdateDelete जैसे Required Operations Perform करते हैं।

जब हम Connected Mode में Direct Data Access करते हैं, तब हम Retrieved Information की Copy को Memory में Hold नहीं रखते, बल्कि Query Fire होने के साथ जो Data Retrieve होता है, Operation Perform होने के बाद जितना जल्दी हो सके, उतना जल्दी Operation को Complete करके Data को Memory से Discard कर दिया जाता है।

यानी Underlying Database पर जितना देर से हो सके, उतना देर से Connection Open किया जाता है और Command Execute करते हुए Generate होने वाले Result को जितना जल्दी हो सके, उतना जल्दी Retrieve करके Connection को Close कर दिया जाता है।

Direct Data Access का ये तरीका Disconnected Model से इसी मायने में अलग है कि Disconnected Model में जिस Data के लिए Operation Perform किया गया है, उस Data की एक Copy को Memory में Hold रखा जाता है। जबकि Connected Model में ऐसा नहीं किया जाता।

ASP.NET Webpages के लिए Direct Data Model एक Well Suited Model है, जिसके अन्तर्गत ASP.NET Webpages के Data की Copy को Memory में लम्बे समय तक Hold नहीं रखा जाता क्‍योंकि जब ASP.NET Page को Request किया जाता है, तब वह Memory में Load होता है और जैसे ही Request Complete होती है, यानी Requested Page पर Appropriate Processing करने के बाद Generate होने वाले Result को Render करने के लिए Web Browser को Send किया जाता है, वह Page Memory से पूरी तरह से Discard हो जाता है और उसी Page के लिए फिर से अगली Request पर यही प्रक्रिया फिर से Follow होती है।

इसलिए किसी Page के लिए Retrieved Data को Memory में Hold करने का कोई औचित्य ही नहीं होता क्‍योंकि उस Data की Lifetime कुछ Seconds या Milliseconds की ही होता है।

हालांकि पहली Request के लिए Generate होने वाले Webpage को Server Side Memory में Save करके रखने की प्रक्रिया को Caching कहा जाता है, जिसकी वजह से उसी Webpage के लिए दुबारा की गई Request को Fulfill करने के लिए Server Side द्वारा उस Cached Page को ही Return कर दिया जाता है, परिणामस्वरूप Page के Regenerate होने की पूरी प्रक्रिया Bypass हो जाती है व Response के Return होने की Performance काफी Increase हो जाती है।

जब हम हमारे किसी Underlying Data Source पर किसी SQL Query को Fire करते हुए कोई Data Retrieve करना चाहते हैं, तब हमें निम्न Steps Follow करने होते हैं:

  • सबसे पहले हमें Connection, CommandDataReader Objects Create करने होते हैं।
  • फिर DataReader Object का प्रयोग करते हुए हमें Underlying Data Source से Data Retrieve करना होता है। और
  • फिर उस Retrieved Data को Webpage के WebForm के Controls में Fill करना होता है।
  • फिर Connection को Close करना होता है। और
  • अन्त में इस पूरी तरह से Generated Page को Output Response के रूप में Web Browser में Render करने के लिए Return करना होता है। इस Point पर User को उसके Web Browser में जो Data दिखाई दे रहा होता है और Server के Database में जो Data Exist होता है, उन दोनों Data के बीच कोई Connection नहीं रहता तथा Web Server से Web Browser तक Data को पहुंचाने के लिए जितने भी .NET Objects Create हुए थे, वे सभी पूरी तरह से Destroy हो चुके होते हैं।

इसी तरह से Webpage के WebForm द्वारा आने वाली Incoming Information को Underlying Database में Add या Update करने के लिए हमें निम्न Steps को Follow करना होता है:

  • सबसे पहले नया Connection Command Object Create करना होता है।
  • और फिर Appropriate SQL Statement Specify करते हुए Command Object को Execute करना होता है।

इस Chapter में हम इन दोनों ही Approaches को विभिन्न प्रकार के Example Programs का प्रयोग करते हुए काफी Detailed तरीके से समझने की कोशिश करेंगे। फिर भी ADO.NET के विभिन्न Objects के Role को सरल तरीके से समझने के लिए हम निम्न चित्र देख सकते हैं:

ADO.NET Connected Data Model in ASP.NET - Hindi

लेकिन इससे पहले कि हम Underlying Data Source से Data को Retrieve करने अथवा Underlying Database में किसी Data को Insert/Update करने के लिए विभिन्न जरूरी ADO.NET Objects Create करें, सबसे पहले हमें सभी जरूरी Namespaces को Import करना होता है और Code-Behind File का प्रयोग करते समय हम निम्न Statements का प्रयोग करते हुए ये काम कर सकते हैं:

using System.Data;
using System.Data.SqlClient;

जबकि यदि हम Inline-Code Script Use कर रहे हों] तो उस स्थिति में हमें निम्नानुसार तरीके से @Import Directives को Use करते हुए Namespaces को Import करना होता है:

  <%@ Import Namespace="System.Data" %>
  <%@ Import Namespace="System.Data.SqlClient"  %>

हालांकि हम Coding को सरल बनाए रखने के लिए Inline-Script Use कर सकते हैं, लेकिन Professional Development में हमेंशा Code-Behind File को ही प्राथमिकता देनी चाहिए।

Connection Creation
Connection Opening
Using SELECT Command
Using DataReader
Updating Data
Field Values in TextBox
Adding Record
Updating Record
Deleting Record

एक Professional Level के Dynamic ASP.Net Application में Underlying Database से Data को Retrieve करने व Underlying Database में Data को Insert, Edit, Delete या Update करने से सम्‍बंधित ढे़र सारे Operations Perform करने पड़ते हैं, जिनके बारे में Simple Examples द्वारा विस्‍तार से Step by Step सीखने के लिए आप Core ASP.NetAdvance ASP.Net EBooks को अभी Online Order करके Download कर सकते हैं। क्‍योंकि ये Post भी Advance ASP.Net EBook से ही लिया गया है और यदि ये पोस्‍ट आपको अच्‍छा लगा है, तो निश्चित रूप से आपको Complete EBook भी अच्‍छी लगेगी।

Advance ASP.NET WebForms with C# in Hindi - BccFalna.com: TechTalks in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Advance ASP.NET WebForms with C# in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।

Advance ASP.NET WebForms in Hindi | Page:707 | Format: PDF

BUY NOW GET DEMO REVIEWS