DbParameter Object in ADO.NET Example in C#

DbParameter Object in ADO.NET Example in C#: Parameterized Queries की अपनी बहुत सारी विशेषताऐं हैं, जिसमें सबसे मुख्‍य विशेषता यही है कि हम एक ही Command को अलग-अलग Parameters Specify करते हुए एक ही SQL Statement का प्रयोग अलग-अलग Record Retrieve करने के लिए कर सकते हैं। साथ ही Parameterized Queries का प्रयोग करने पर SQL Injection Attacks जैसी परेशानियां भी पैदा नहीं होती, जिससे हमारा Database ज्यादा Secure रहता है। क्योंकि इस स्थिति में हम हमारे Parameter को String Format में नहीं बल्कि एक Variable में Stored String Format में Specify करते हैं। जैसे:

        UPDATE Customers SET FirstName = ‘Kuldeep’ WHERE CustomerID = 1

इसी Statement को जब हम Parameterized Form में लिखते हैं, तो हमारा Statement कुछ निम्नानुसार हो जाता है:

        UPDATE Customers SET FirstName = @FirstName WHERE CustomerID = @CustID

जब हम इस प्रकार की Query लिखते हैं, तब हमें ये सुविधा प्राप्त हो जाती है कि हम जब चाहें तब Programmatically @FirstName@CustID Variables का मान Change करके इसी SQL Query को किसी अन्य Record को Update करने के लिए Use कर सकते हैं।

चूंकि Command को DbCommand Type के Object द्वारा Represent किया जाता है और सभी .NET Data Providers को Parameterized Commands की जरूरत हो सकती है, इसलिए Commonality को Enforce करने के लिए यानी सभी .NET Data Providers द्वारा समान प्रकार के कामों को Perform करने हेतु समान नाम की Properties व Methods को Define करने के लिए Parameters नाम का एक Property Provide किया जाता है। Parameters Property वास्तव में DbParametersCollection Type की एक Property है, जो कि DbParameter Class का Connection मात्र है। इसे हम निम्न चित्र द्वारा ज्यादा बेहतर तरीके से Represent कर सकते हैं:

DbParameter Object in ADO.NET Example in C#

जैसाकि हम इस चित्र में देख सकते हैं कि SqlCommand OracleCommand दोनों के Parameters Property को Double Arrow द्वारा Represent किया गया है, जो कि इस बात का Indication है कि ये कोई Singular Object नहीं बल्कि एक Collection है।

साथ ही हम उपरोक्त चित्र में ये भी देख सकते हैं कि DbCommand.Parameters Property, DbParametersCollection को Point कर रहा है, जबकि SqlCommand.Parameters Property SqlParameterCollection को Point कर रहा है, जो कि बहुत सारे SqlParameter को Hold कर सकता है। इसी तरह से OracleCommand.Parameters Property, OracleParameterCollection Type के Object को Point करता है, जो कि OracleParameters का एक Collection है।

इस प्रकार से हर .NET Data Provider, जो कि Command Object को Implement करता है, उसमें Parameters Property का Exist होना जरूरी होता है। जबकि इस Parameters Property में किसी ऐसे Type के किसी Object को Hold करता है, जिसे DbParametersCollection से Inherit किया गया है और जो DbParameter Class का एक Collection है।

जब किसी Connection पर किसी Command को Execute कर दिया जाता है, उसके बाद Data Source से जो Result Return होता है, उसे किसी Object में Hold करने की जरूरत पडती है, ताकि Frontend Program में उस Database से Fetched Data को Use किया जा सके। इस Data को Hold करने के लिए हम हमारा स्वयं का Object Define कर सकते हैं अथवा यदि हम चाहें तो .NET Framework के DataSet Type के Object का भी प्रयोग कर सकते हैं, जो कि हमारे Data को Hold करने के लिए एक Disconnected Cache की तरह व्यवहार करता है।

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

ADO.NET with C# in Hindi | Page:501 | Format: PDF

BUY NOW GET DEMO REVIEWS