C# Command Object: Connection Object के बाद हमें सबसे बेहतर तरीके से Command Object को समझना होता है, क्योंकि यही वह Object होता है, जिसमें हम SQL Statements को Embed करके Underlying Database से Results Retrieve करने अथवा Underlying Database पर Data को Save करने के लिए Execute करते हैं।
SqlCommand Type वास्तव में DbCommand Type से Derived, किसी SQL Query, Stored Procedure या Table Name का एक Object Oriented Representation होता है। हम Command Object की CommandType Property का प्रयोग करके ही Command Object द्वारा Execute होने वाले Command के Type को Specify करते हैं, जो कि Value के रूप में निम्नानुसार Specified CommandType Enum की किसी Value को Assign कर सकते है:
public enum CommandType { StoredProcedure, TableDirect, Text // Default value. }
जब हम Command Object Create करते हैं, तब हम SQL Query को Command Object के Constructor Parameter के रूप में Specify कर सकते हैं अथवा इसे सीधे ही Command Object की CommandText Property को Assign कर सकते हैं। साथ ही जब हम Command Object Create करते हैं, तो वह Command Object जिस Connection के लिए SQL Statements को Execute करना चाहता है, उस Connection को भी हमें Command Object के लिए Specify करना होता है, जिसे या तो हम Command Object के Constructor द्वारा Set कर सकते हैं अथवा Connection Property द्वारा। जैसे:
// Create command object via constructor args.
string strSQL = “Select * From Customers”;
SqlCommand myCommand = new SqlCommand(strSQL, cn);
// Create another command object via Properties.
SqlCommand testCommand = new SqlCommand();
testCommand.Connection = cn;
testCommand.CommandText = strSQL;
Command Object को Prepare करने का मतलब ये नहीं है कि हमने Underlying Database पर Command Object को Execute कर दिया है, बल्कि Command Object को हम बाद में जरूरत के अनुसार Execute करते हैं।
एक Command Object वास्तव में DbCommand Type से Derived होता है, जिसमें निम्न Members को Define किया गया होता है, जो कि Automatically हमारे Command Object के माध्यम से Use होने के लिए Directly Available रहते हैं:
CommandTimeout
इस Property का Default मान 30 Seconds होता है। इस Property को Set करके हम इस बात को त; करते हैं कि जब Command Execute होगा, तब Execute होने के Attempt को Terminate करके Error Generate करने से पहले कितने समय तक Command को Execute करने की कोशिश करेगा। इस Property को हम Get व Set कर सकते हैं।
Connection
इस Property में हम उस DbConnection Object को Specify करते हैं, जिस पर Execute करने के लिए Current DbCommand Object को Define किया गया है। इस Property को भी हम Get व Set कर सकते हैं।
Parameters
एक Parameterized Query के विभिन्न DbParameter को इस Collection के माध्यम से Retrieve किया जा सकता है, जो कि Command Object में SQL Query में Parameter के रूप में Pass किए जाने होते हैं। इस Property को हम केवल Get कर सकते हैं।
Cancel()
ये Method Current Command के Execution को Cancel कर देता है।
ExecuteReader()
ये Method Current Command में Embedded SQL Query को Execute करता है और Data Provider के DbDataReader Type का Object Return करता है, जो कि Return होने वाले Resultset पर Forward-Only, Read-Only Access Provide करता है।
ExecuteNonQuery()
ये Method Non-Query SQL Execute करता है। जो कि सामान्यत: INSERT, UPDATE, DELETE या CREATE Table Command होता है।
ExecuteScalar()
ये Method ExecuteReader() Method का Light Weight Version है, जो कि Underlying Database पर केवल ऐसी SQL Queries Execute करता है, जो कि एक बार में केवल एक Single Data ही Return करते हैं।
Prepare()
ये Method, Data Source पर Command Object का एक Prepared या Compiled Version Prepare करता है। Prepared Query हमेंशा Normal Query से ज्यादा Fast Execute होता है। इसलिए जब हमें समान SQL Query को अलग-अलग प्रकार के Parameters का प्रयोग करते हुए बार&बार Execute करना होता है, तब हम इस प्रकार की SQL Query को इस Method का प्रयोग करते हुए Prepared SQL Query के रूप में Define करते हैं।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook ADO.NET with C# in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
ADO.NET with C# in Hindi | Page:501 | Format: PDF