ADO.NET Connection Creation with Database in ASP.NET Application

इससे पहले कि हम Underlying Database से कोई Data Retrieve करें अथवा Underlying Database में कोई Data Add/Update करें, सबसे पहले काम के रूप में हमें हमारे Underlying Data Source के साथ Connection Establish करना होता है।

जहां तक सम्भव हो Connection को हमेंशा कम से कम समय के लिए ही Open रखना चाहिए, साथ ही Connection के Fail होने की स्थिति को Handle करने के लिए हमें हमेंशा अपने Connection Establishing Code को एक try/catch Block में लिखना चाहिए।

जब हम Connection Object Create करना चाहते हैं, तब हमें Connection Object की ConnectionString Property को Appropriate Value से Set करना होता है। इस ConnectionString में हमें हर उस Information को Specify करना होता है, जिसके माध्‍यम से हमारा Computer System, Underlying Data Source को Find करता है, उसमें Login करता है और उसमें Exist विभिन्न Conceptual Databases में से वांछित Initial Database को Select करता है।

यदि हम हमारे Northwind Database को उपयोग में लेते हुए अपना ASP.NET Example Create करना चाहें, तो ASP.NET Application में Northwind Database के Data को Retrieve करने के लिए हम निम्नानुसार तरीके से Connection Object Create कर सकते हैं और उसकी ConnectionString Property को Initialize कर सकते हैं:

protected void Page_Load(object sender, EventArgs e)
{
    SqlConnection cn = new SqlConnection();
    cn.ConnectionString = "Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI";
}

चूंकि हम ADO.NET का प्रयोग करते हुए Different प्रकार के Data Sources को Access व Manipulate करते हैं, इसलिए विभिन्न प्रकार के Data Sources के लिए Specify की जाने वाली ConnectionString क्या होनी चाहिए, इस बात को Perfect तरीके से तय करना काफी Typical व Uncertain काम हो सकता है। लेकिन हम Visual Studio का प्रयोग करते हुए बडी ही आसानी से ConnectionString को Set कर सकते हैं और इसके लिए हमें कुछ भी Extra करने की जरूरत नहीं होती।

क्‍योंकि Configuring MSSQL Server Express Section के अन्तर्गत जिस Approach का प्रयोग करते हुए हमने MSSQL Server Express को Visual Studio के साथ Graphically Connect किया था, हमें केवल उस Data Source को Select करना होता है, जिसके परिणामस्वरूप Visual Studio के Properties Window में हम उस Data Source के साथ Connect करने के लिए Use होने वाली Connection String को निम्न चित्रानुसार Copy कर सकते हैं:

ADO.NET Connection Creation with Database in ASP.NET Application - Hindi

ADO.NET Connection Creation with Database in ASP.NET Application – Hindi

यानी हम हमारे Visual Studio IDE को Underlying Data Source के साथ Graphical तरीके का प्रयोग करते हुए Connect कर सकते हैं और Successful Connection Establish हो जाने के बाद जो Connection String Create होता है, उसे उपरोक्त चित्रानुसार “Server Explorer” Window में दिखाई देने वाले Data Source को Select करके Properties Window में उस Data Source की Connection String को Copy कर सकते हैं, जो कि उपरोक्त चित्र के अनुसार निम्नानुसार है:

"Data Source=KULDEEP;Initial Catalog=Northwind;Integrated Security=True"

यानी यदि हम हमारे Connection Object के Constructor में अथवा ConnectionString Property में इस String को Specify कर दें, तो हमारे Connection Object का Connection Northwind नाम के Database के साथ Establish हो जाता है, जो कि MSSQL Server Express में Exist है। जैसे:

SqlConnection cn = new SqlConnection();
cn.ConnectionString = "Data Source=KULDEEP;Initial Catalog=Northwind;Integrated Security=True";

इसी ConnectionString को हम Connection Object Create करते समय भी निम्नानुसार Specify कर सकते हैं:

SqlConnection cn = new SqlConnection(
    "Data Source=KULDEEP;Initial Catalog=Northwind;Integrated Security=True"
);

अथवा हम इसे निम्नानुसार एक String Variable में भी Assign कर सकते हैं और फिर उस String Variable को Connection Object के Constructor में अथवा ConnectionString Property में Assign कर सकते हैं:

String conString = "Data Source=KULDEEP;Initial Catalog=Northwind;Integrated Security=True";
SqlConnection cn = new SqlConnection(conString);

अथवा

String conString = "Data Source=KULDEEP;Initial Catalog=Northwind;Integrated Security=True";
SqlConnection cn = new SqlConnection();
cn.ConnectionString = conString;

चूंकि किसी भी Web Application में हमारी Connection String पूरे Application की Lifetime के दौरान समान ही रहता है, इसलिए इसे उपरोक्तानुसार तरीके से Specify करने के स्थान पर Web.config File में भी निम्नानुसार तरीके से Specify किया जा सकता है:

File Name: Web.config 
<?xml version="1.0"?>
<configuration>
...
<connectionStrings>
    <add name="Northwind" connectionString="Data Source=KULDEEP;Initial Catalog=Northwind;Integrated Security=True" />
</connectionStrings>
...
</configuration>

जब एक बार हम उपरोक्तानुसार तरीके से अपने Web Application की Web.config File में Connection String को Add कर देते हैं, उसके बाद हम हमारे Web Application में जब भी जरूरत हो, निम्न Statement के माध्‍यम से इस Connection String को फिर से Retrieve कर सकते हैं:

String conString = WebConfigurationManager.ConnectionStrings["Northwind"].ConnectionString;
SqlConnection cn = new SqlConnection(conString);

हालांकि WebConfigurationManager के ConnectionStrings Property को उसी स्थिति में Use किया जा सकता है, जबकि हमने निम्न Namespace को Import किया हो-

using System.Web.Configuration;

इस Approach को Use करना इस बात की गारन्टी होता है कि पूरे Application के विभिन्न Webpages के लिए हमने समान Connection String को Use किया है। साथ ही इस Approach को Use करने पर हम हमारे Application को ज्यादा बेहतर तरीके से Manage कर सकते हैं, क्‍योंकि यदि किसी कारणवश हमें Underlying Data Source Change करने की जरूरत पडे, तो हमें नए Data Source की Connection String को केवल Web.config File में ही Modify करना होगा।

जबकि इस Approach के स्थान पर पिछली Approach को Use करने पर हमें हमारे Application के प्रत्‍येक Webpage में Specified Connection String को Modify करना पड सकता है, जो कि अधिक Time Consuming, Unreliable व Inconsistent Approach है।

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

केवल Connection Create करने मात्र से ही Underlying Database से Data Access and Manipulate नहीं होने लगता बल्कि Connection Create करने के बाद उसे Open करना पड़ता है और Connection Open करने के लिए भी कुछ Specific Steps Follow करने पड़ते हैं। साथ ही Connection Open होने के बाद DataReader Object के माध्‍यम से Underlying Database को Update करने की जरूरत पड़ती है, जिसके लिए विभिन्‍न प्रकार के User Interface Controls को Use करना होता है और उन User Interface Controls के माध्‍यम से Records को Underlying Database में Add या Update अथवा Delete करते हुए उसे Access व Manipulate किया जाता है।

Underlying Database से Connection Establish करके उसके Data Access & Manipulate करने से सम्‍बंधित सभी जरूरी Steps, जिन्‍हें ऊपर Bullet List के माध्‍यम  से दर्शाया गया है, को विस्‍तार से जानने के लिए आप Advance ASP.NET in Hindi EBook का Online Order करके अभी Download कर सकते हैं, क्‍योंकि ये Article भी इसी EBook से लिया गया है और अगर ये Post आपको Easy to Understand लग रहा है, तो निश्चित रूप से आपको ये EBook भी काफी Easy to Follow लगेगी और आप आसानी से ASP.Net आधारित Dynamic Websites Develop करना सीख सकेंगे।

ADO.NET Connected Data Model in ASP.NET
Disconnected Data Model Benefits

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 DOWNLOAD READ ONLINE

Download All EBooks

सभी हिन्दी EBooks के DEMO DOWNLOAD LINKS प्राप्‍त करें, अपने EMail पर।

Register करके Login करें। इस Popup से छुटकारा पाएें।