Ado.ne twith csharpinhindi

132
ADO.NET With C# in Hindi BccFalna.com 097994-55505 Kuldeep Chand I have tried my best to compile each and every aspect related to ADO.NET with C# Programming Language in this eBook with various kinds of Professional Level Console and Windows Forms Based Example Programs like Creating Single Forms and Master/Detail Forms using Visual Studio’s Wizard and Manual Coding. It have latest content on ADO.NET and I have tried my best to clear each and every concept in as easy language as possible with Console/Windows Forms Example Program. I believe that no other ADO.NET with C# Book in Hindi Language has as much and good content as in this eBook is in Hindi Language because I have tried my best to include each and every concept related to ADO.NET and I wish, each and every buyer would be happy with the content of this eBook. If you read this EBook, you will sure get Good Understanding of ADO.NET and would be in better situation to develop a Professional Level Database Application easily.

Transcript of Ado.ne twith csharpinhindi

Page 1: Ado.ne twith csharpinhindi

ADO.NET With C# in Hindi

B c c F a l n a . c o m 0 9 7 9 9 4 - 5 5 5 0 5

Kuldeep Chand I have tried my best to compile each and every aspect related to ADO.NET with C# Programming Language in this eBook with various kinds of Professional Level Console and Windows Forms Based Example Programs like Creating Single Forms and Master/Detail Forms using Visual Studio’s Wizard and Manual Coding. It have latest content on ADO.NET and I have tried my best to clear each and every concept in as easy language as possible with Console/Windows Forms Example Program. I believe that no other ADO.NET with C# Book in Hindi Language has as much and good content as in this eBook is in Hindi Language because I have tried my best to include each and every concept related to ADO.NET and I wish, each and every buyer would be happy with the content of this eBook. If you read this EBook, you will sure get Good Understanding of ADO.NET and would be in better situation to develop a Professional Level Database Application easily.

Page 2: Ado.ne twith csharpinhindi

1

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

ADO.NET wiTh C# iN hiNDi

� � � Kuldeep Mishra

BetaLab Computer Center Falna

Page 3: Ado.ne twith csharpinhindi

2

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

ADO.NET in HINDI Copyright © 2013 by Kuldeep Chand All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Lead Editors: Kuldeep Chand Distributed to the book trade worldwide by BetaLab Computer Center, Behind of Vidhya Jyoti School, Falna Station Dist. Pali (Raj.) Pin 306116 e-mail [email protected], or visit http://www.bccfalna.com. For information on translations, please contact BetaLab Computer Center, Behind of Vidhya Jyoti School, Falna Station Dist. Pali (Raj.) Pin 306116 Mob.: 097994-55505 The information in this book is distributed on an “as is” basis, without warranty. Although every precaution has been taken in the preparation of this work, the author shall not have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this book.

Page 4: Ado.ne twith csharpinhindi

3

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

This book is dedicated to you if you really wants

to become a

PrOfEssiONAl DEvElOPEr

Page 5: Ado.ne twith csharpinhindi

4

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

ADO.NET wiTh C#

iNDEx Of CONTENTs

Page 6: Ado.ne twith csharpinhindi

5

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Table of Contents ADO.NET – Introduction ........................................................................................ 12

What is ADO.NET ................................................................................................ 14 ADO – The ActiveX Data Object Limitations ........................................................ 15 Connected Objects .............................................................................................. 17

Connection Object ............................................................................................ 17 Transaction Object ........................................................................................... 18 DataAdapter Object .......................................................................................... 18 Command Object ............................................................................................. 19 Parameter Object ............................................................................................. 19 DataReader Object ........................................................................................... 19

Disconnected Objects .......................................................................................... 19 DataSet Object ................................................................................................. 20 DataTable Object ............................................................................................. 20 DataRow Object ............................................................................................... 20 DataColumn Object .......................................................................................... 21 DataView Object ............................................................................................... 21 Constraints Object ............................................................................................ 21 DataRelation Object ......................................................................................... 21

.NET Data Providers ............................................................................................ 22 Using ProviderBase Model ............................................................................... 26 Third-Party Data Providers ............................................................................... 30

System.Data.Design Namespace ........................................................................ 32 ADO.NET – Object Model ...................................................................................... 34

DbConnection – To Establish Connection ............................................................ 35 DbCommand – To Execute Command ................................................................. 38 DbParameter – To Create Parameterized Commands ......................................... 39 DataSet – Holding Disconnected Data ................................................................. 42 DataReader and DataAdapter – To Fetch Resultset ............................................ 44

DbDataReader – To Fetch Data in Connected Way ......................................... 45 DbDataAdapter – Bridge between Connected and Disconnected ..................... 46

ADO.NET – Exception Handling .......................................................................... 47 Disconnected Stack Exceptions ....................................................................... 48 Provider Specific Exceptions ............................................................................ 48 SqlType Specific Exception .............................................................................. 49 Other ADO.NET Exceptions ............................................................................. 49

Summary of ADO.NET Data Model ...................................................................... 49 IDbConnection Interface ................................................................................... 50 IDbTransaction Interface .................................................................................. 51 IDbCommand Interface .................................................................................... 51 IDbDataParameter and IDataParameter Interfaces .......................................... 52 IdbDataAdapter and IDataAdapter Interfaces ................................................... 53 IDataReader and IDataRecord Interfaces ......................................................... 53 Data Provider Abstraction Using Interface ........................................................ 55 Using Application Configuration File ................................................................. 55

ADO.NET – Connection Object ............................................................................. 58

Working with ADO.NET Connection ..................................................................... 69

Page 7: Ado.ne twith csharpinhindi

6

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Creating Connection Objects ............................................................................... 70 DbConnectionStringBuilder .................................................................................. 76 IDbConnection ..................................................................................................... 80

BeginTransaction() Method .............................................................................. 81 ChangeDatabase() Method .............................................................................. 81 Open() Method ................................................................................................. 81 CreateCommand() Method ............................................................................... 82 ConnectionString Property................................................................................ 82 ConnectionTimeout Property ............................................................................ 82 Database Property ........................................................................................... 82 State Property .................................................................................................. 82

DbConnection Class ............................................................................................ 83 Connection Pooling .............................................................................................. 83

ADO.NET – Command Object ............................................................................... 88

Retrieving Single Result with ExecuteScalar() Method ......................................... 88 Creating Command Object ............................................................................... 88 Configuring Command Object .......................................................................... 89 Executing Command ........................................................................................ 91

Retrieving Resultset with ExecuteReader() Method ............................................. 94 IDataRecord Interface ...................................................................................... 94 Common Behavior Parameters of ExecuteReader() Method ............................ 98

Querying Resultset for Storage .......................................................................... 103 Executing Command Asynchronously ................................................................ 112

Working with Connected Layer Only ................................................................. 116

Working with Connection Object ........................................................................ 117 BeginTransaction() ......................................................................................... 118 ChangeDatabase() ......................................................................................... 118 ConnectionTimeout() ...................................................................................... 118 GetSchema() .................................................................................................. 118 Database ........................................................................................................ 118 DataSource .................................................................................................... 118 State ............................................................................................................... 118

Working with Command Object .......................................................................... 121 CommandTimeout .......................................................................................... 122 Connection ..................................................................................................... 122 Parameters ..................................................................................................... 122 Cancel() .......................................................................................................... 122 ExecuteReader() ............................................................................................ 122 ExecuteNonQuery() ........................................................................................ 122 ExecuteScalar() .............................................................................................. 123 Prepare() ........................................................................................................ 123

Working with DataReader Object ....................................................................... 123 Accessing Multiple Resultsets ........................................................................ 125

Updating Changes in Underlying Database........................................................ 127 Structuring Common Task’s Library ................................................................ 128 Adding Connection Logic ................................................................................ 129 Adding Insertion Logic .................................................................................... 131 Adding Deletion Logic ..................................................................................... 134 Adding Update Logic ...................................................................................... 135 Adding Selection Logic ................................................................................... 136

Parameterized Command Object ....................................................................... 139

Page 8: Ado.ne twith csharpinhindi

7

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

SQL Injection Attack ....................................................................................... 140 DbParameter Members .................................................................................. 142 Implementing Standard SQL Queries ............................................................. 145 Parameters with Other Data Providers ........................................................... 147 Executing Stored Procedures ......................................................................... 147

ADO.NET – DataSets Object ............................................................................... 154

Features of Disconnected Scenario Object ........................................................ 155 Serializable ..................................................................................................... 155 XML Supported .............................................................................................. 155 History of Changes Maintainable .................................................................... 156

Architecture of DataSet Object ........................................................................... 157 Tables Property .............................................................................................. 158 Relations Property .......................................................................................... 158 ExtendedProperties Property .......................................................................... 158

DataTable Object ............................................................................................... 159 Columns Property ........................................................................................... 160 Rows Property ................................................................................................ 160 Constraints Property ....................................................................................... 160

DataColumn Object ............................................................................................ 160 Add() .............................................................................................................. 161 Add("ColumnName") ...................................................................................... 161 Add(PreExistingDataColumnName) ............................................................... 161 Add("SubTotal", Type.GetType("System.Single", "Sum(Price)") ..................... 161

DataRow Object ................................................................................................. 162 Constraints Object ............................................................................................. 164

ForeignKeyConstraint ..................................................................................... 164 UniqueConstraint ............................................................................................ 165

PrimaryKey Property .......................................................................................... 165 DataTable Events .............................................................................................. 166

ColumnChanging Event .................................................................................. 166 ColumnChanged Event .................................................................................. 166 RowChanging Event ....................................................................................... 166 RowChanged Event........................................................................................ 166 RowDeleting Event ......................................................................................... 167 RowDeleted Event .......................................................................................... 167 TableClearing Event ....................................................................................... 167 TableCleared Event ........................................................................................ 167 TableNewRow Event ...................................................................................... 167 DataColumnChangeEventArgs Properties ...................................................... 167 DataRowChangeEventArgs Properties ........................................................... 168 DataTableClearTableEventHandler Properties ............................................... 168 DataTableNewRowEventHander Properties ................................................... 169

Relational Data .................................................................................................. 176 Relations Collection ........................................................................................ 176 Working with DataSet Object .......................................................................... 178

Strongly Typed DataSets ................................................................................... 184 Building Strongly Typed DataSets .................................................................. 186

ADO.NET – DataAdapter Object ......................................................................... 197

What is DataAdapter .......................................................................................... 197 DataAdapter Architecture ................................................................................... 198 Using DataAdapter ............................................................................................. 199

Page 9: Ado.ne twith csharpinhindi

8

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Accessing Single Table Data with Visual Studio ............................................. 200 Accessing Single Table Data with Manual Coding .......................................... 211 Accessing Multiple Table Data to Fill DataSets ............................................... 217

Database Schema Query ................................................................................... 227 Mapping ............................................................................................................. 234

MissingMappingAction and MissingSchemaAction ......................................... 249 ADO.NET – Data Updating .................................................................................. 252

Updating Table : Drag-and-Drop Approach ........................................................ 252 Using Visual Designer Properly ...................................................................... 260 Master/Detail or Parent/Child Using Drag-and-Drop ....................................... 264

CommandBuilder Object .................................................................................... 271 State Management ............................................................................................. 277

Detached (1) .................................................................................................. 278 UnChanged (2) ............................................................................................... 279 Added (4) ....................................................................................................... 279 Deleted (8) ..................................................................................................... 279 Modified (16) .................................................................................................. 279

SqlBulkCopy Class ............................................................................................ 288 Disconnected Data Editing ................................................................................. 291

Adding New Rows (Records) .......................................................................... 292 Modifying Existing Row (Records) .................................................................. 293 Deleting Existing Row (Records) .................................................................... 294

Disconnected Data History Handling .................................................................. 295 Current Constant ............................................................................................ 296 Original Constant ............................................................................................ 296 Proposed Constant ......................................................................................... 296 Default Constant ............................................................................................. 296

Concurrency Understanding .............................................................................. 298 Pessimistic Concurrency ................................................................................ 299 Optimistic Concurrency .................................................................................. 300

Concurrency Implementing ................................................................................ 301 Handling Null Values for DataSet ................................................................... 301 Handling Multiple Rows Updating ................................................................... 303

ADO.NET – Transaction ...................................................................................... 306

What is Transaction in Programming ................................................................. 306 ACID Properties ............................................................................................. 307 Database Transactions ................................................................................... 308

ADO.NET Transaction Support .......................................................................... 310 Transaction Class ........................................................................................... 312

Creating Transactional Database Application ..................................................... 314 Implementing Transactions............................................................................. 315

Isolation Level Effect .......................................................................................... 322 Isolation Levels ............................................................................................... 322 Isolation Levels of ADO.NET .......................................................................... 323

Working with Disconnected Layer Only ............................................................ 329

Working with DataSet Object ............................................................................. 331 DataSet Properties ......................................................................................... 332 DataSet Methods ............................................................................................ 333

Working with DataColumn Object ...................................................................... 335 AllowDBNull Property ..................................................................................... 336 AutoIncrement Property .................................................................................. 336

Page 10: Ado.ne twith csharpinhindi

9

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

AutoIncrementSeed Property ......................................................................... 336 AutoIncrementStep Property .......................................................................... 336 Caption Property ............................................................................................ 336 ColumnMapping Property ............................................................................... 336 ColumnName Property ................................................................................... 337 DataType Property ......................................................................................... 337 DefaultValue Property .................................................................................... 337 Expression Property ....................................................................................... 337 Ordinal Property ............................................................................................. 337 ReadOnly Property ......................................................................................... 337 Table Property ................................................................................................ 337 Unique Property ............................................................................................. 338

Working with DataRow Object............................................................................ 340 DataRow Members ......................................................................................... 340 RowState Property in Detail ............................................................................ 345 DataRowVersion Property in Detail ................................................................ 349

Working with DataTable Object .......................................................................... 350 DataTable Members ....................................................................................... 350 Inserting DataTables into DataSet Object ....................................................... 352 Obtaining Data in DataSet Object ................................................................... 355 Processing DataTable Data Using DataTableReader Object .......................... 356 XML Serialization of DataTable/DataSet Objects ............................................ 358 Binary Serialization of DataTable/DataSet Objects ......................................... 373

Working with DataAdapter Object ...................................................................... 374 DataAdapter Members ................................................................................... 374

Creating Library for Common Disconnected Functionality .................................. 378 Configuring DataAdapter ................................................................................ 379 GetAllProducts() Method Implementation ....................................................... 381 UpdateProducts() Method Implementation ..................................................... 381

Handling Multi-Table DataSet Object with Relationship...................................... 390 Configuring DataAdapter Objects ................................................................... 391 Configuring Relationships between DataTable ............................................... 395 Updating Underlying Database Tables ........................................................... 397 Navigation between Related Tables ............................................................... 399

Working with Strongly Typed DataSet using Data Source .................................. 405 Understanding the App.config Configuration File ............................................ 408 Understanding the Strongly Typed DataSet .................................................... 409 Understanding the Strongly Typed DataTable ................................................ 411 Understanding the Strongly Typed DataRow .................................................. 415 Understanding the Strongly Typed DataAdapter ............................................. 416

Working with Strongly Typed DataSet Using Server Explorer ............................ 420 Selecting Data with Generated Code .............................................................. 423 Inserting New Record with Generated Code ................................................... 428 Deleting Record with Generated Code ........................................................... 434 Invoking Stored Procedures using Generated Code ....................................... 441

ADO.NET – Searching, Sorting and Filtering ..................................................... 446

Strongly Typed DataSet Object Setup using Designer ....................................... 447 Working with DataTable Object .......................................................................... 449

Finding Single Required Row ......................................................................... 450 Retrieving Multiple Rows ................................................................................ 454 Adding Calculated Column ............................................................................. 458 Performing Aggregate Calculation .................................................................. 460

Page 11: Ado.ne twith csharpinhindi

10

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Working with DataRelation Object – Strongly Typed DataSet ............................ 463 Working with DataRelation Object – Simple DataSet ......................................... 476 Working with DataView Object ........................................................................... 489

Creating DataView ......................................................................................... 489 Converting DataView to DataTable ................................................................. 496

Last but Not Least ............................................................................................... 498

Page 12: Ado.ne twith csharpinhindi

11

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

ADO.NET

iNTrODuCTiON

Page 13: Ado.ne twith csharpinhindi

12

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

ADO.NET – Introduction Computer dks ,d Information Storage o Processing Machine ekuk tk ldrk gSA pwafd gj Application dh t:jr vyx izdkj dh gksrh gS] ftldh otg ls mlds Data Hkh vyx izdkj ds gksrs gSaA blfy, ge lHkh izdkj ds Data dks leku rjhds ls Store o Handle ugha dj ldrsA mnkgj.k ds fy, Microsoft Word o Notepad esa ftl izdkj ds Text Data dks Handle fd;k tkrk gS] Accounting Related Software Tally ds Data dks Exactly mlh rjg ls Store o Manage ugha fd;k tk ldrkA ysfdu fdlh Hkh izdkj ds Data dks lkj.kh ds :i esa Manage djuk] Text ds :i esa Manage djus dh rqyuk esa T;knk vklku gksrk gSA blfy, T;knkrj Business Related Data dks lkj.kh ds :i esa gh Manage fd;k tkrk gSA D;ksafd Business Related Data ij le;≤ ij fofHkUu izdkj dh Calculations dks Perform fd;k tkrk gS vkSj Generate gksus okys Result ds vk/kkj ij gh fofHkUu izdkj ds t:jh Decisions fy, tkrs gSaA pwafd Computer Technology dk tc ls Commercialization gqvk gS] rc ls lcls T;knk ;fn dksbZ Application Develop fd;k x;k gS] rks og Database Related Application gh gS vkSj Computer Technology dk Commercialization djus dk ewy mÌs”; Hkh Business Purpose gh FkkA rkfd Business Related t:jh Decisions T;knk Accurate Data ds vk/kkj ij o T;knk rsth ls fy;k tk ldsA blhfy, orZeku le; esa Hkh Develop fd, tkus okys 95% ls T;knk Application Software, fdlh u fdlh rjg ds Business ls lEcaf/kr Database Management Application Software gh gSa] tks fdlh u fdlh Specific Type dh Business Requirement dks iwjk djus ds fy, gh Develop gks jgs gSa vkSj tSlkfd geus vHkh crk;k fd fdlh Hkh izdkj ds Data dh rjg Business Related Data dks Hkh lkj.kh ;kuh Tables ds :i esa Manage o Maintain djuk T;knk vklku o lqfo/kktud gksrk gS] blfy, Business Related Data dks T;knk vklkuh ls Access, Manipulate o Manage djus ds fy, fofHkUu izdkj ds Frontend o Backend Develop djus okyh Programming Languages o Software Develop fd, x, gSa] rkfd mUgsa vkil esa csgrj rjhds ls Integrate djds T;knk rsth ls GUI Business Applications Develop fd, tk ldsaA tc ge Business Applications dh ckr djrs gSa] rc lkekU;r% 2-Tier ;k 3-Tier Architecture vk/kkfjr Business Applications Develop fd, tkrs gSa rFkk fofHkUu izdkj ds Design o Development Patterns Use fd, tkrs gSaA gkykafd bu nksuksa gh rjg ds Development Architectures dks ljy “kCnksa Frontend o Backend ds uke ls tkuk tkrk gSA tgka Frontend fdlh Hkh Business Application dk og Part gksrk gS] ftlds ek/;e ls Develop fd, tkus okys Application Software ds lkFk User Interact djrk gSA tcfd Backend ds :i esa og DBMS Software gksrk gS] ftlesa Business Application ls lEcaf/kr Actual Data Stored jgrk gSA Frontend ds :i esa orZeku le; esa Java ;k .NET Based Programming Languages dks lokZf/kd Use fd;k tk jgk gS] tcfd Backend ds :i esa MSSQL Server, Oracle o

Page 14: Ado.ne twith csharpinhindi

13

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

MySQL dks lcls T;knk Use fd;k tk jgk gSA gkykafd buds vykok Hkh dbZ vkSj Frontend o Backend Development Languages o DBMS Software Hkh Use fd, tkrs gSaA pwafd Frontend Programming Language o Backend Database nksuksa lkekU;r% vyx&vyx Programming Languages o Design Patterns ds vk/kkj ij Develop fd, tkrs gSa] blfy, ;s vkil esa ,d nwljs ds lkFk Directly Interaction djrs gq, Data dk ysu&nsu ugha dj ldrsA ftldh otg ls lkekU;r% buds chp ,d Driver Software (Data Access Library) Use fd;k tkrk gS] tks fd Frontend o Backend ds chp Connection Establish djus dk dke djrk gSA bl izfØ;k dks ge fuEu fp= }kjk csgrj rjhds ls le> ldrs gSa%

Frontend Programming Language o Backend Data Source dks vkil esa Connect djus ds fy, tks Data Access Library Use fd;k tkrk gS] lkekU;r% og Data Access Library fofHkUu izdkj ds Backend Data Sources ds lkFk Frontend Programming Language ds chp Connection Establish djus dk dke dj ldrk gSA blfy, ,d gh Frontend Software dks vyx&vyx rjg ds Backend Database ds lkFk mi;ksx esa fy;k tk ldrk gSA ;kuh ;fn ge Oracle DBMS Software dks Backend ds :i esa Use djrs gSa] rks fdlh fo”ks’k Situation esa ge Oracle ds Data dks MSSQL Server DBMS Software esa Store dj ldrs gSa vkSj Frontend ds ek/;e ls Oracle ds LFkku ij SQL Server ls Data dks Access o Manipulate dj ldrs gSaA tcfd DBMS Software dks Change djus ds ckotwn gesa Frontend ds Backend ds lkFk Connection Establish djus okys Data Access Code dks Modify djus ds vykok vU; fdlh Hkh rjg dk Modification djus dh t:jr ugha gksrh gSA ADO.NET, Frontend o Backend ds chp Connection Establish djrs gq, buds chp ds vkilh Interaction dks Establish djus okyh Data Access Library gh gSA ;kuh ADO.NET ds ek/;e ls gh .NET Framework dh Frontend Programming Languages tSls fd C#.NET, VB.NET vkfn o Backend DBMS Software tSls fd MSSQL Server, MySQL, Oracle vkfn ds chp Data dk ysu&nsu lEHko gks ikrk gSA

Page 15: Ado.ne twith csharpinhindi

14

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

What is ADO.NET ADO.NET, Microsoft.NET Framework dk ,d Part gS] tks fdlh File Based ;k Sever Based Data Source ls Frontend Application dks Communicate djokus dh lqfo/kk Provide djrk gS tcfd ADO.NET Library, .NET Framework ds System.Data uke ds Namespace ds vUrxZr gh Exist gksrh gSA bl Library esa mu Functionalities dks Define fd;k x;k gS] tks fdlh Data Source ls Connect gksus] Data Source ij Command Execute djus o Data Source esa Data dks Store, Manipulate o Delete djus dh lqfo/kk Provide djrs gSaA ADO.NET ds Role dks ge fuEu fp=kuqlkj csgrj rjhds ls le> ldrs gSa%

ADO.NET (Active Data Object) dk fiNyk Version ADO (ActiveX Data Object) Fkk] tgka nksuksa esa ewy vUrj ;s gS fd ADO.NET gesa fdlh Data Source ds Data dks iwjh rjg ls Offline Mode esa Disconnected Data Cache dh rjg Access o Manipulate djus dh lqfo/kk Provide djrk gSA lkFk gh bl Disconnected lqfo/kk dks izkIr djus ds fy, ADO.NET ds fodkl ls igys RDO (Remote Data Object) dks Develop fd;k x;k FkkA Disconnected Data Access Technology dh t:jr orZeku le; esa blfy, cgqr T;knk gS D;ksafd orZeku esa ,d gh le; ij ,d gh Data Source ls cgqr lkjs Data dks Access o Manipulate fd;k tk jgk gksrk gSA ,sls esa Data dks ckj&ckj Database ls Retrieve djus o ckj&ckj Database esa Modified Data dks Update djus ls Data Access dh ftruh Demand gksrh gS] ml Demand dks iwjk ugha fd;k tk ldrk] D;ksafd Disc Access dh Speed vkt Hkh fdlh Hkh vU; Device dh rqyuk esa lcls de gSA Disconnected Data Source dh eq[; fo”ks’krk ;s gS fd Database dh ftl Table ds Data dks Access djuk gksrk gS ml Table ds Data dk ,d Copy Create gksdj Local Computer ij Cached gks tkrk gSA ifj.kkeLo:i Frontend Application }kjk tks Hkh Change fd;k tkrk gS] og Local Cache esa gh Save gksrk gSA bl Tabular Data ds Disconnected Container dks ADO.NET Library esa DataSet o DataTable Object }kjk Represent fd;k tkrk gS] ftuds ckjs esa ge vkxs foLrkj ls Discuss djsaxsA tc ge ADO o ADO.NET dh ckr djrs gSa] rc eq[; :i ls ,d ckr /;ku j[kuk gksrk gS fd ADO vkSj ADO.NET nksuksa ds dsoy uke gh feyrs&tqyrs gSaA tcfd bu nksuksa dh Internal Working dkQh vyx o ,d nwljs ls iwjh rjg ls fHkUu gSA blfy, bl ckr dks le>uk fd

Page 16: Ado.ne twith csharpinhindi

15

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

ADO.NET fdl izdkj ls ADO ls vyx rjg dh Functionality Provide djrk gS] gekjs fy, dkQh mi;ksxh gksrk gSA ADO.NET Architecture dks ge fuEu fp=kuqlkj T;knk csgrj rjhds ls Represent dj ldrs gS%

ADO – The ActiveX Data Object Limitations ADO, Microsoft dh rjQ ls Data Access djus dh lcls Advance rduhd Fkh ftls Microsoft }kjk fdlh Hkh izdkj ds Data Source ls fdlh Hkh izdkj ds Data dks Access o Manipulate djus ds fy, Design o Develop fd;k x;k FkkA blhfy, tc .NET Framework dks Launch fd;k x;k] rks dsoy ADO dks gh fofHkUu izdkj ds Data Source ls Data Access djus ds fy, ADO.NET ds :i esa .NET Framework esa Implement fd;k x;k FkkA tcfd ftl le; ADO.NET Develop fd;k tk jgk Fkk] ml le; DAO, RDO, ODBCDirect o OleDb tSls dbZ vU; Data Access Technologies dks Hkh dkQh mi;ksx esa fy;k tkrk FkkA ADO dks ewy :i ls Unmanaged Code ds ek/;e ls Data Source ls Data dks Access o Manipulate djus ds fy, Design fd;k x;k FkkA tcfd .NET Framework esa Unmanaged Code dks Interop uke ds COM Object ds ek/;e ls Access o Manipulate djus ds fy,

Page 17: Ado.ne twith csharpinhindi

16

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Redefine fd;k x;k FkkA D;ksafd COM Object okLro esa DLL Hell uke dh ,d Specific Type dh ijs”kkuh dk f”kdkj Fkk vkSj ADO okLro esa ,d COM Based Component FkkA blfy, .NET Framework tSls Managed Code ds :i esa Design fd, x, Platform esa COM Based ADO dks T;ksa dk R;ksa mi;ksx esa ugha fy;k tk ldrk FkkA blhfy, Microsoft us ADO dks iwjh rjg ls Managed Codes ds vk/kkj ij Develop fd;kA ifj.kkeLo:i gesa ADO.NET ds :i esa ADO dk Latest Version izkIr gks ldkA blds vykok ADO dh ,d deh ;s Hkh Fkh dh ADO dks XML Data ds lkFk izfØ;k djus ds fy, Design ugha fd;k x;k FkkA blfy, ADO dks blfy, Hkh Modify djuk t:jh Fkk rkfd og XML Data ds lkFk lkekU; rjhds ls Processing dj ldsA D;ksafd XML ,d ,slk Standard ;k Universal Data Format gS] ftls dksbZ Hkh Application Software o Programming Language leku izdkj ls Access o Manipulate dj ldrk gSA bl otg ls leku Data dks vyx&vyx Application Software esa mlh fLFkfr esa Use fd;k tk ldrk gS] tcfd Data Access Library, Data Source dks XML Format esa Access o Manipulate dj ldsA blfy, ADO dks Modify djds bl yk;d cukuk Hkh t:jh Fkk fd og XML Data dks Handle dj ldsA D;ksafd ftl le; ADO.NET dks fodflr fd;k tk jgk Fkk] ml le; fofHkUu izdkj dh Web Services ds ek/;e ls tks Data fofHkUu izdkj ds Client Applications dks Provide fd;k tkrk Fkk] og Data XML Format esa gh gksrk FkkA blfy, ADO.NET dks Develop djus dk ,d dkj.k ;s Hkh Fkk fd fofHkUu izdkj ds Client Applications vyx&vyx ek/;eksa ls Generate gksus okys Data dks XML ds :i esa Defined ,d Universal Format esa Platform Independent rjhds ls Access o Manipulate dj ldsaA lkFk gh ADO, Disconnected Computing dks Hkh Support ugha djrk Fkk] tcfd Market dh Requirement dks vklkuh ls iwjk djus ds fy, ;s t:jh Fkk fd ADO dks Disconnected Computing ds fy, Hkh fodflr fd;k tk,A D;ksafd XML Support, Concurrency o Disconnected Architecture ;qDr ADO dks gh ADO.NET ds uke ls tkuk tkrk gSA tSlkfd ge tkurs gSa fd .NET Classes dks Namespaces esa Group fd;k tk ldrk gSA blfy, ADO.NET Related Functionality dh lHkh Classes dks System.Data Namespace ds vUrxZr j[kk x;k gSA lkFk gh vU; .NET Components dh rjg ADO.NET, .NET Framework ds vU; Namespaces tSls fd System.Web.UI.WebControls.Adapters.TableAdapter ;k System.Transaction ds lkFk Interaction dj ldrk gSA ADO.NET Architecture dks ewy :i ls nks Hkkxksa esa Divide fd;k tk ldrk gS] ftls Connected Database o Disconnected Database ds :i esa Identify fd;k tkrk gSA blfy, ADO.NET ls lEcaf/kr fofHkUu Classes dks Hkh Connected o Disconnected ds :i esa

Page 18: Ado.ne twith csharpinhindi

17

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

nks Hkkxksa esa Divide fd;k tk ldrk gSA dsoy DataAdapter Type gh ,d viokn gS] tks Connected o Disconnected, nksuksa izdkj ds Mode esa leku izdkj ls dke djrk gSA

Connected Objects Connected Part ,sls Object dks Represent djrk gS] tks Data Source ls Interact djrs le; Data Source o Frontend ds chp Connection Open j[krk gSA ;kuh ftl Object dks Data Source ls Data dks Access o Manipulate djus ds fy, ;s t:jh gksrk gS fd Frontend ds fy, Data Source ij Connection rc rd Open jgs] tc rd fd Frontend Client o Backend Data Source ds chp Data ysu&nsu ds fy, Perform gksus okyk Communication lekIr ugha gks tkrkA ADO.NET ds Connected Part ds vUrxZr eq[;r% fuEu eq[; Objects gksrs gSa%

Connection Object ;s og Object gksrk gS] tks Frontend dk Backend Data Source ds lkFk Connection Establish djrk gSA bl ckr ij fuHkZj djrs gq, fd fdl izdkj ds Data Source ls Data dks Store/Retrieve djus ds fy, dkSulk .NET Data Provider Involved gS] og Specific .NET Data Provider gekjh fdlh Specified SQL Query ds vk/kkj ij Physical Database Connection ls Actual Data Retrieve djrk gSA OleDbConnection, SqlConnection, OracleConnection vkfn Connection Type Object ds mnkgj.k gSa] tks fd ,d Connected Object gksrk gSA tc Frontend fdlh Underlying Backend Database ls Connect gksrk gS] rks nksuksa ds chp ;s Connection Establish gksuk dkQh Time Consuming Task gksrk gSA D;ksafd nksuksa ds chp Connection Establish djus ds fy, Socket ;k Named PIPE ds :i esa ,d Physical Channel Establish gksrk gS vkSj Client o Server ds chp ,d Initialize Handshake gksus ds fy, Connection String Information Parse gksrk gS] ftldk Server }kjk Authentication fd;k tkrk gSA izk;ksfxd :i ls T;knkrj Applications Connection Establish djus ds fy, ,d ;k nks Unique Configurations dks Use djrs gSaA bldk eryc ;s gqvk fd Application ds Execution ds nkSjku dbZ Identical Connections ckj&ckj tYnh&tYnh Open o Close gksrs gSaA bl ckj&ckj Identical Connections ds Open o Close gksus dh izfØ;k dks de djus ds fy, gh ADO.NET ,d Optimization rduhd Use djrk gS] ftls Connection Pooling ds uke ls tkuk tkrk gSA Connection Pooling ,d ,slh izfØ;k gS] ftlesa Identical Connections dks dsoy ,d gh ckj Open fd;k tkrk gS vkSj Physical Connection dks gj Identical Connection ds fy, Open j[krs gq, Reuse dj fy;k tkrk gSA

Page 19: Ado.ne twith csharpinhindi

18

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

ifj.kkeLo:i tc Hkh dHkh Connection dks Open djus dk Request feyrk gS] Application lcls igys ml Request dks Pool esa Existence ds fy, Check djrk gSA ;kuh ;fn Open gksus okys Connection ds Identical Connection dks ;fn igys Open fd;k tk pqdk gks] rks Pool ds :i esa og Connection igys ls Exist gksrk gSA bl fLFkfr esa u;k Connection Open ugha fd;k tkrk] cfYd ml igys ls Pool esa Exist Connection dks Reuse dj fy;k tkrk gSA bl izdkj ls gj Unique Connection String Configuration ds fy, ADO.NET ,d Pool (Stored Connection) Create djrk gS vkSj gj Identical Connection String Configuration ds fy, ml Pool esa Stored Connection dks gh Reuse djrk gSA

Transaction Object dbZ ckj ,slh fLFkfr gksrh gS] tc gesa cgqr lkjs SQL Statements ds iwjs ,d Group dks Data Source ij ,d lkFk ,d Atomic Operation dh rjg Execute djuk gksrk gSA tgka ;k rks ml Statement Group ds lHkh Statements dk ,d lkFk Execution gksuk t:jh gksrk gS vFkok t:jh gksrk gS fd fdlh ,d Hkh Statement dk Execution ugha gksA bl izfØ;k dks lkekU;r% “All or Nothing” Operation dgk tkrk gSA

mnkgj.k ds fy, tc ge Net Banking ds ek/;e ls fdlh ,d Bank A/c ls fdlh nwljs Bank A/c esa Payment Transfer djrs gSa] rks ,d ,d Bank A/c dk Balance de gksrk gS vkSj nwljs dk c< tkrk gSA ;kuh nksuksa dke ,d lkFk gh gksrs gSa vkSj ;fn gksrs gSa rks nksuksa gh dke gksrs gSa vU;Fkk dksbZ Hkh dke ugha gksrkA bl izfØ;k dks DBMS dh Hkk’kk esa lkekU;r% Transaction ds uke ls tkuk tkrk gSA

OleDbTransaction, SqlTransaction, OracleTransaction vkfn Transaction Objects ds Example gSaA tcfd ADO.NET 2.0 gesa Distributed Transactions Perform djus dh lqfo/kk Hkh Provide djrk gSA lkFk gh ge System.Transaction Namespace ds Types dk iz;ksx djds Non-Database Transactions Hkh Perform dj ldrs gSaA

DataAdapter Object ;s Object ADO.NET ds Disconnected o Connected Parts ds chp Gateway dh rjg dke djrk gSA ;s gekjs fy, Backend Data Source ds lkFk Connection Establish djrk gS vFkok bls dksbZ Established Connection Provide djus ij ;s ml Specified Connection ds ckjs esa fofHkUu izdkj dh tkudkfj;ka Provide djrk gS] ftudk iz;ksx Disconnected Object ds Data dks Identify djus o ml ij fdlh Specific Manner esa Act djus dh lqfo/kk Provide djrk gSA SqlDataAdapter, OracleDataAdapter, OleDbDataAdapter vkfn bl izdkj ds Objects ds mnkgj.k gSaA

Page 20: Ado.ne twith csharpinhindi

19

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Command Object ;s Object Underlying Data Source ij Execute fd, tkus okys Command (SQL Statement or Transaction) dks Represent djrk gSA ;s Command Object dksbZ Result Return dj Hkh ldrk gS vkSj ugha HkhA bu Command Objects dk iz;ksx Underlying Data Source ds Data dks Access, Manipulate, Query, Update, Delete vkfn djus ds fy, fd;k tkrk gSA lkFk gh ;s Commands, Underlying Database ds Table Structure dks Manipulate djus ds fy, Hkh mi;ksx esa fy, tk ldrs gSaA SqlCommand, OracleCommand, OleDbCommand vkfn bl izdkj ds Objects ds mnkgj.k gSaA

Parameter Object Command esa ;s {kerk gksuh pkfg, fd og Parameters Accept dj ldsA rkfd Command ds SQL Statement ;k Stored Procedure dks Dynamically Modify djrs gq, vyx&vyx rjg ds Result Generate fd, tk ldsaA ;s Parameters Input vFkok Output fdlh Hkh izdkj ds gks ldrs gSaA

lkFk gh ;s Parameters fdlh Stored Procedure ls Return gksus okys eku dks Represent dj ldrs gSa vFkok fdlh SQL Query esa Pass fd, x, “?” Arguments gks ldrs gSa ;k fQj fdlh Dynamic Query ds Named Parameters gks ldrs gSaA OleDbParameter, SqlParameter, OracleParameter vkfn bl izdkj ds Objects ds mnkgj.k gSaA

DataReader Object ;s Object Read-Only ;k Forward-Only Cursor ds leku gS tks gesa Database ds Data dks Readonly o Forward Only Mode esa cgqr gh Fast Speed ls Fetch djus dh lqfo/kk Provide djrk gSA

Disconnected Objects orZeku le; ds Modern Distributed Applications dh Requirements dks Connected Applications vdsys vius Lrj ij iwjk ugha dj ldrsA gkykafd Disconnected Applications Hkh ADO.NET dk iz;ksx djrs gq, gh Develop fd, tkrs gSa] ysfdu bl Development dk Approach dkQh fHkUu gksrk gSA Disconnected Applications lkekU;r% ftruk nsj ls lEHko gks] mruk nsj ls Underlying Database ls Connection Establish djrs gSa vkSj ftruk tYnh gks lds] mruk tYnh Disconnect gksus dh dksf”k”k djrs gSaA bl Disconnected Fashion esa ADO.NET, Actual Data Connection dks fofHkUu Requests ds nkSjku Underlying Database Pool ls Retrieve djrk gS vkSj Retrieved Data dks Local

Page 21: Ado.ne twith csharpinhindi

20

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Cache esa Save djds j[k ysrk gSA ADO.NET ds fofHkUu Disconnected Objects ds ckjs esa ge fuEukuqlkj tku ldrs gSa%

DataSet Object DataSet Object, Disconnected Mode ds ADO.NET Data Access dk Central Core ;kuh eq[; vk/kkj gksrk gSA DataSet dks ljy “kCnksa esa bl rjg ls le>k tk ldrk gS fd DataSet ,d izdkj ls gekjs Current Frontend Application ds fy, ,d Mini Relational Database Management System (RDBMS) Software dh rjg dke djrk gS vkSj Underlying Database dks iwjh rjg ls Local Computer dh Memory esa Represent djrk gSA blfy, ge DataSet dks Exactly mlh izdkj ls Access o Manipulate djrs gSa] tSls fd ge Actual Data Source dks Use dj jgs gksaA DataSet dks ge DataTables o DataRelations dk Logical Collection Hkh eku ldrs gSaA

DataTable Object DataTable yxHkx Actual Database dh Table ds leku gksrk gS] tks fd Actual Database dh fdlh Table dk In-Memory Representation gksrk gSA ;s DataColumns o DataRows dk cuk gksrk gS] ftl ij Exactly mlh rjg ls fofHkUu izdkj ds Constraints Set fd, tk ldrs gSa] ftl izdkj ls Actual Database esa fdlh Table ij fofHkUu izdkj ds Constraints Set fd, tkrs gSaA

;s Object Data dks Rows o Columns ds :i esa Store djrk gS vkSj bl Object dks iwjh rjg ls XML Format esa Convert fd;k tk ldrk gS] tcfd XML Format esa Serialized Content ds vk/kkj ij fQj ls DataSet Object Hkh Define fd;k tk ldrk gSA

blfy, tc fdlh DataSet ds ek/;e ls dsoy ,d gh Table ds Data dks Access djuk gks] rks DataSet Create djus ds LFkku ij DataTable Create djuk T;knk csgrj gksrk gS vkSj DataTable dk iz;ksx djuk u dsoy T;knk vklku gksrk gS cfYd bldh Performance Hkh rqyukRed :i ls T;knk csgrj gksrh gSA

DataRow Object DataRow Object okLro esa DataTable Object dh ,d Property gS] tks fd DataColumnCollection Type dk Object gksrk gS vkSj DataTable Object esa Stored fofHkUu Records esa ls fdlh le; ij fdlh ,d Record dks Represent djrk gSA tSls&tSls DataTable Object esa u;k Data Fill gksrk tkrk gS] gj Record dks Represent djus ds fy, DataRowCollection esa ,d u;k DataRow Object Add gksrk tkrk gSA DataRow Object okLro esa fdlh Actual Database ds fdlh Table dh fdlh Row dks In-Memory Represent djrk gSA

Page 22: Ado.ne twith csharpinhindi

21

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

DataColumn Object DataColumn Object Hkh okLro esa DataTable Object dh ,d Property gS] tks fd DataRowCollection Type dk Object gS vkSj fdlh Actual Database Table Structure dks Represent djrk gSA ;kuh DataRow Object okLro esa fdlh Actual Database ds fdlh Table ds fdlh Column dks In-Memory Represent djrk gSA

DataView Object DataView Object fdlh Actual Database ds fdlh View Object dk In-Memory Logical Representation gksrk gSA ;s Object gesa fdlh DataTable ij In-Memory View Create djus dh lqfo/kk nsrk gSA Actual View dh rjg gh ;s DataView Hkh viuh Filter Property esa Specified Condition ds vk/kkj ij orZeku esa Memory esa Exist Data dk Logical View Create djrk gSA DataTable ds Data ds Subset ;kuh View ds Data dks Sorted Form esa Handle djus ds fy, ge DataView Object ds lkFk Sort Property dk Hkh iz;ksx dj ldrs gSaA

Constraints Object Constraints Object Hkh okLro esa DataTable Object dh ,d Property gS] tks fd ConstraintsCollection Type dk Object gSA ;s Object gesa ForeignKeyConstraint ;k UniqueConstraint Object Create djus dh lqfo/kk nsrk gS] ftUgsa ge fdlh Specific Condition ds vk/kkj ij DataTable ds fofHkUu Columns ds lkFk Associate dj ldrs gSa] rkfd DataTable esa Store gksus okyk Data bu Constraints dks Satisfy fd, fcuk fdlh u, Data dks Store u gksus nsA ForeignKeyConstraint o UniqueConstraint ;s nksuksa Constraint Collections, Logically Actual Database ds Foreign Key o Unique Key ds leku gksrs gSaA

DataRelation Object DataSet Object fdlh Actual Database ds leku cgqr lkjh In-Memory Tables dks Logically Represent djrk gS] ftlesa cgqr lkjh Interrelated Tables gks ldrh gSA DataRelation Object bUgha fofHkUu Interrelated Tables ds chp dh Relationship dks Represent djrk gSA lkFk gh fofHkUu Related Tables ds Data dks Validate djrs gq, fofHkUu DataTables ds chp dh Parent-Child Relationship dks Hkh Represent djrk gSA bl Object dks ge Actual Database dh Foreign Key ds Equivalent eku ldrs gSa] tks fd nks Tables ds chp dh Relationship dks ,d uke ds ek/;e ls Represent djrk gSA ForeignKeyConstraint o DataRelation ds chp eq[; vUrj ;gh gS fd DataRelation Object gesa Data Validation dh lqfo/kk Provide djus ds lkFk gh ,d ,slk Convenient Mechanism Provide djrk gS] ftldk iz;ksx djds ge DataSet Object esa Parent o Child Rows dks Browse dj ldrs gSaA

Page 23: Ado.ne twith csharpinhindi

22

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

bl izdkj ls ge ADO.NET ds Connected o Disconnected nksuksa Parts ds vkilh Interaction dks fuEu fp= }kjk T;knk csgrj rjhds ls Represent dj ldrs gSa vkSj le> ldrs gSa fd ADO.NET ds mijksDrkuqlkj Discussed fofHkUu Objects vkil esa fdl izdkj ls Interaction djrs gq, Frontend o Backend ds chp Communication Provide djrs gSa%

ADO Architecture ds vUrxZr Data Source ls Returned Data dks Hold djus dk tks dke Recordset Object djrk Fkk] ogh dke ADO.NET Architecture esa DataSet djrk gSA fQj Hkh nksuksa ds chp ,d cgqr gh egRoiw.kZ vUrj gksrk gSA Recordset Object, Database ls Communicate djus ds fy, Hkh ftEesnkj gksrk Fkk] ogha DataSet Object fdlh Hkh rjg ls fdlh Database ls Directly Communication LFkkfir ugha dj ldrkA cfYd Database ls Connection Establish djus ds fy, ADO.NET Architecture, DataAdapter uke ds Gateway Object dks Use djrk gS tks fd Connected o Disconnected Modes dks vkil esa Communicate djokrk gSA pwafd Connected Objects, Directly Underlying Database ds lkFk Communication djrs gSa] blfy, Connected Objects dks lkekU;r% Database Specific Codes Implement djus gksrs gSa vkSj lHkh Connected Objects dks .NET Data Providers ds :i esa Identify ;k Refer fd;k tkrk gSA tcfd Disconnected Objects, Underlying Database ls fcYdqy Lora= o vyx gksrs gSa] vr% bu Disconnected Objects dks fofHkUu izdkj ds vyx&vyx Databases ds fy, leku :i ls Use fd;k tk ldrk gSA ;kuh ;fn geus MySql Database dks Use djrs gq, Disconnected rjhds ls viuk Application Design fd;k gks] rks ge tc pkgsa rc MySql ds LFkku ij Underlying Database ds :i esa SQL Server ;k Oracle dks Use dj ldrs gSa] tcfd gesa gekjs Disconnected Design esa fdlh Hkh rjg dk dksbZ Modification djus dh t:jr ugha gksxhA

.NET Data Providers ADO.NET Connected Objects dks Underlying Database ds fy, ,d Specific Implementation ds :i esa Split djrk gSA vU; “kCnksa esa dgsa rks ;fn ge Frontend dks Microsoft SQL Server Database ds lkFk Connect djuk pkgrs gSa] rks gesa ADO.NET ds

Page 24: Ado.ne twith csharpinhindi

23

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

SqlConnection Class dks Use djuk gksrk gSA ;kuh SQL Server Specific lHkh Classes System.Data.SqlClient Namespace ds vUrxZr Exist gksrh gSaA blh rjg ls Oracle Database ls Connection LFkkfir djus ls lEcaf/kr lHkh Classes System.Data.OracleClient Namespace ds vUrxZr Exist gSa vkSj ;fn ge Frontend dks Oracle Database ds lkFk Connect djuk pkgsa] rks gesa OracleConnection Class dks Use djuk gksrk gSA bl rjg ls gj Specific Database ds lkFk Frontend dks Connect djus ds fy, gesa vyx izdkj ds .NET Data Provider dks Use djuk gksrk gS vkSj gj rjg dk .NET Data Provider ,d vyx o Unique izdkj ds Namespace ds :i esa ADO.NET Implementation ds :i esa Exist gSA bl Implementation System dks ge fuEu fp= }kjk csgrj rjhds ls Represent dj ldrs gSa%

orZeku le; esa ge dbZ izdkj ds Databases dks Use dj ldrs gSa] ftuesa ls File Based Database o Server Based Database orZeku le; esa dkQh Popular gSaA File Based Database dks tgka Manage o Deploy djuk dkQh vklku gksrk gS ogha Server Based Database T;knk Stable o Concurrent rjhds ls T;knk User Requests dks Handle djus esa l{ke gksrs gSaA gkykafd Microsoft SQL Server 2005 o ckn ds Server Based Databases dks File Based Database dh rjg Communicate fd;k tk ldrk gSA pwafd orZeku le; esa cgqr lkjs izdkj ds File Based o Server Based DBMS Software Available gSa] blfy, t:jh gS fd ADO.NET fofHkUu izdkj ds Data Sources dks Handle djrs gq, Frontend ds lkFk Backend dk Communication djok ldsA ;kuh fofHkUu izdkj ds Data Sources dks Support dj ldsA pwafd fofHkUu izdkj ds Data Sources dh viuh vyx rjg dh fo”ks’krk,sa gksrh gSa] vr% ADO.NET ,d Specific Type dk Provider Model Support djrk gS] ftlds vUrxZr fdlh Particular Data Source ds fy, Specify fd, x, ADO.NET Provider dks fdlh Specific Namespace ds vUrxZr Classes ds lewg ds :i esa Define fd;k tkrk gSA vU; “kCnksa esa dgsa rks fdlh Specific Data Source dks .NET Frontend ds lkFk Use djus ds fy, mldk dksbZ Specific Data Provider gksuk t:jh gksrk gSA gkykafd OleDb o ODBC dks fdlh Hkh OleDb ;k ODBC Compliant Database ds lkFk dke djus ds fy, Design fd;k

Page 25: Ado.ne twith csharpinhindi

24

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

x;k FkkA ysfdu budk Specific Implementation Hkh fdlh uk fdlh Specific .NET Data Provider esa gh Exist gksrk gSA tSls%

;kuh tSlkfd ge mijksDr fp= }kjk le> ldrs gSa fd lHkh izdkj ds Databases dks Frontend ds lkFk Interact djokus ds fy, ,d .NET Data Provider dh t:jr gksrh gS vkSj fofHkUu izdkj ds Databases ds fy, vyx&vyx izdkj ds .NET Data Providers dks ADO.NET Framework esa Namespaces ds :i esa Implement fd;k x;k gS] ftuds ek/;e ls fdlh Specific Database esa Stored Data dks Frontend ds ek/;e ls Implement fd;k tkrk gSA fofHkUu izdkj ds Common Data Providers ds ckjs esa ge fuEukuqlkj le> ldrs gSa% Data Source Name Provider Namespace Microsoft SQL Server 7.0 and above System.Data.SqlClient Oracle 8.1.6 and above System.Data.OracleClient SqlXml support in SQL Server System.Data.SqlXml Any ODBC data source System.Data.ODBC Any OleDb data source System.Data.OleDb ;gka /;ku nsus okyh ckr ;s gS fd Microsoft SQL Server 7.0 o ckn ds Versions rFkk Oracle 8.1.6 o ckn ds Versions dks OleDb o ODBC Data Providers ds ek/;e ls Hkh Access fd;k tk ldrk gSA blds vykok bUgsa buds Specific Data Providers tSls fd System.Data.SqlClient o System.Data.OracleClient ds ek/;e ls Hkh Access fd;k tk ldrk gSA tc ge fdlh Database ls Connect gksus ds fy, mlls lEcaf/kr Specific Data Provider dks Use djrs gSa] rks gesa OleDb ;k ODBC Data Providers dh rqyuk esa T;knk csgrj Performance izkIr gksrh gSA D;ksafd Specialized Data Providers T;knk csgrj Database Specific Functionalities ls ;qDr gksrs gSaA

Page 26: Ado.ne twith csharpinhindi

25

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

lkFk gh Specialized Data Providers gesa Database Specific Data Types ds lkFk dke djus dh lqfo/kk Provide djrs gSaA ftldh otg ls Boxing/Unboxing Perform ugha gksrk vkSj Database dh Performance T;knk csgrj jgrh gSA ysfdu tc ge Non-Specialized Data Providers tSls fd OleDb ;k ODBC Use djrs gSa] rc lHkh Data Sources, Common Minimum Base Functionality gh Provide djrs gSaA ;s Data Providers Use djus ij Performance rks izHkkfor gksrh gh gS lkFk gh dbZ vU; izdkj ds Issues Hkh Resolve djus iMrs gSaA blfy, tgka rd lEHko gks] ADO.Net ds ek/;e ls fdlh Specific Data Provider dk iz;ksx djrs gq, gh Specific Data Source dks Access o Manipulate djuk pkfg, rFkk ODBC o OleDb dk iz;ksx tgka rd lEHko gks] ugha djuk pkfg,A ;kuh ;fn Backend Data Source MS SQL Server gks] rks gesa”kk System.Data.SqlClient.SqlConnection Type dk Object System.Data.IDbConnection Interface dks Implement djuk pkfg, vkSj System.Data.Providerbase.DbConnectionBase ls Inherit djuk pkfg,A D;ksafd ,slk djrs gq, ge Runtime Cast Errors ls cp ldrs gSaA gkykafd bl Approach dk ,d uqdlku ;s gS fd ge ftl Backend Database dks Use dj jgs gSa] mls dHkh Hkh Change ugha dj ldrsA tcfd Qk;nk ;s gS fd OleDb ;k ODBC Use djus ij gksus okyk Performance Loss ugha gksrkA blds foijhr ;fn ge Database Independent Code fy[kuk pkgrs gSa] rks gesa OleDb ;k ODBC Data Providers Use djus iMrs gSa] ftlls ge vius Backend Database dks viuh t:jr ds vuqlkj dHkh Hkh Change dj ldrs gSa] tcfd ,slk djus ij gekjs Database dh Performance ij foijhr izHkko iMrk gSA blds vykok ge Base Classes o Interfaces dk iz;ksx djrs gq, Hkh Frontend ds lkFk Backend dks Use dj ldrs gSaA tgka ADO.NET, Most Common rjhds ls Use gksus okys Objects ds fy, Standard Interfaces o Base Classes Provide djrk gSA blfy, System.Data.SqlClient.SqlConnection Object dks System.Data.IDbConnection Interface dks Implement djuk gksrk gS rFkk System.Data.Providerbase.DbConnectionBase dks Inherit djuk gksrk gSA bu Base Interface }kjk Represented Data Types ;k Implement fd, x, Interface ds lkFk izfØ;k djrs gq, ge Runtime Cast Errors dks Avoid dj ldrs gSaA bl Approach dk Disadvantage ;s gS fd gesa gesa”kk Common Minimum Base Functionality ds lkFk Stick jguk t:jh gksrk gS] gkykafd ,slk djus ij Hkh gekjs Database Interaction ds Performance ij fdlh rjg dk izHkko ugha iMrk] tks fd OleDb ;k ODBC dks Use djus ij iMrk gSA ge le> ldrs gSa fd mijksDrkuqlkj Discuss fd;k x;k dksbZ Hkh rjhdk Perfect ugha gSA blfy, ADO.NET gesa ,d vkSj vf/kd mi;qDr Coding rjhdk Provide djrk gSA bl rjhds ds vUrxZr ADO.NET gesa ,d Provider Factory Provide djrk gS] ftlesa Available Providers dks

Page 27: Ado.ne twith csharpinhindi

26

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

String Variable ds :i esa ml fLFkfr esa Instantiate fd;k tk ldrk gS] tcfd gesa Correct Provider Name dh tkudkjh gksA bl rjhds dks ProviderBase Model ds uke ls Hkh tkuk tkrk gSA

Using ProviderBase Model ;s Model Performance o Database Independency, nksuksa ds fy, gh dkQh mi;ksxh lkfcr gksrk gSA D;ksafd lkekU;r% fdlh Hkh Windows Operating System Based Computer ij ,d ls T;knk rjg ds Data Providers Installed gksrs gSaA ftldh tkudkjh izkIr djus ds fy, ge .NET Framework ds Machine.Config uke dh File ds DbProviderFactories uke ds Section dks mi;ksx esa ys ldrs gSaA bl Section esa ge fofHkUu izdkj ds Data Providers dks Define dj ldrs gSa] ftUgsa ProviderBase Model dk iz;ksx djrs gq, Access fd;k tk ldrk gSA Machine.Config File dk DbProviderFactories Section dqN fuEukuqlkj gks ldrk gS%

;s File lkekU;r% C: => Windows => Microsoft.Net uke ds Folder esa Exist fofHkUu .NET Frameworks esa Exist gksrh gSA ge gekjs Computer System esa Exist fofHkUu Data Providers dks fuEukuqlkj Program Code ds ek/;e ls vklkuh ls Enumerate dj ldrs gSa] ftlds fy, gesa mijksDrkuqlkj Machine.Config File dks Manually Open djus dh t:jr ugha jgrh% //C# Code using System; using System.Data.Common; using System.Data; namespace ConsoleApplication2 { class Program { static void Main(string[] args)

Page 28: Ado.ne twith csharpinhindi

27

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

{ DataTable factoryClassesTable = DbProviderFactories.GetFactoryClasses(); foreach (DataRow factoryClass in factoryClassesTable.Rows) { Console.WriteLine("Name:" + factoryClass["Name"]); Console.WriteLine("Description:" + factoryClass["Description"]); Console.WriteLine("Invariant Name:" + factoryClass["InvariantName"]); Console.WriteLine("\n"); } } } }

'VB Code Imports System Imports System.Data.Common Module Module1 Sub Main() Dim factoryClassesTable As DataTable = DbProviderFactories.GetFactoryClasses() Dim factoryClass As DataRow For Each factoryClass In factoryClassesTable.Rows Console.WriteLine("Name:" & factoryClass("Name")) Console.WriteLine("Description:" & factoryClass("Description")) Console.WriteLine("Invariant Name:" & factoryClass("InvariantName")) Console.WriteLine("") Next End Sub End Module tc ge mijksDr C# ;k VB.NET Console Applications dks Compile djds Run djrs gSa] rks gesa fuEukuqlkj Output izkIr gksxk gS] ftlesa gesa gekjs Computer System ij miyC/k fofHkUu Data Providers dh tkudkjh izkIr gks tkrh gS fd gekjs Current Computer System ij dkSu&dkSu ls Data Providers Exist gSa %

Page 29: Ado.ne twith csharpinhindi

28

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

;fn ge bu Providers dks vius C# ;k VB.NET Program esa Use djuk pkgsa] rks fuEukuqlkj dj ldrs gSa%

//C# Code //Select SQL Client factory - Can change to use any provider later DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.SqlClient"); //Create Connection from the factory SqlConnection testConnection = (SqlConnection)factory.CreateConnection(); testConnection.ConnectionString = "..."; //Specify connection string – See Chapter 4 testConnection.Open(); //Create Command from the factory SqlCommand testCommand = (SqlCommand)factory.CreateCommand(); //Execute a command from the connection testCommand.Connection = testConnection; testCommand.CommandText = "..."; SqlDataReader reader = testCommand.ExecuteReader(); while (reader.Read())

Page 30: Ado.ne twith csharpinhindi

29

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

{ Console.WriteLine(reader.GetValue(0)); }

'VB Code 'Select SQL Client factory - Can change to use any provider later Dim factory As DbProviderFactory=DbProviderFactories.GetFactory("System.Data.SqlClient") 'Create Connection from the factory Dim testConnection As SqlConnection = factory.CreateConnection() testConnection.ConnectionString = "..." ' Specify connection string testConnection.Open() 'Create Command from the factory Dim testCommand As SqlCommand = factory.CreateCommand() 'Execute a command from the connection testCommand.Connection = testConnection testCommand.CommandText = "..." Dim reader As SqlDataReader = testCommand.ExecuteReader() While reader.Read() Console.WriteLine(reader.GetValue(0)) End While mijksDr Code }kjk ge ,d eq[; ckr ;s le> ldrs gSa fd ProviderBase Model gesa SqlConnection o SqlCommand tSls Strongly Typed Provider Specific Objects dks Retrieve djus dh lqfo/kk Provide djrk gSA tcfd Application User dks bl ckr dh dksbZ tkudkjh ugha gksrh fd og fdl Provider ds ek/;e ls Backend Database ls Communication dj jgk gSA ;kuh ;fn ge pkgsa rks GUI Form ij ,d ComboBox Create djds mlesa fofHkUu izdkj ds Providers dks Display dj ldrs gSa] tgka User Lo;a viuh bPNkuqlkj ftl fdlh Hkh Provider dks pkgs] mls Select dj ldrk gS vkSj ml Selected “Data Provider” String dks ge “System.Data.SqlClient” ds :i esa GetFactory Method esa Parameter dh rjg Pass djrs gq, Hkh Backend Database ls Connection Establish dj ldrs gSaA ge ,slk blfy, dj ldrs gSa D;ksafd DbProviderFactory Type dk Object gesa”kk ftu Objects dks Return djrk gS] os lHkh okLro esa fdlh .NET Data Provider dh Base Classes ds fofHkUu Common Objects dks Represent djrs gSaA ;s lHkh Common Base Classes System.Data.Common uke ds Namespace esa Exist gksrs gSa] ftUgsa Third-Party .NET Data Provider Create djus ds fy, Inherit fd;k tk ldrk gSA

Page 31: Ado.ne twith csharpinhindi

30

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Third-Party Data Providers ADO.NET esa cgqr lkjh ,slh Base Classes o Interfaces Exist gSa] ftUgsa Derive o Implement djds fofHkUu Third-Parties viuh t:jr ds vuqlkj fofHkUu izdkj ds u, .NET Data Provider Create dj ldrs gSa vkSj viuh t:jr ds vuqlkj Connection, Command vkfn tSls Common :i ls dke vkus okys Objects dks Specific rjhds ls Implement dj ldrs gSaA DbDataAdapter Class blh izdkj dh ,d Class gS] ftlesa IdbDataAdapter Interface dks Implement fd;k x;k gSA vr% SqlDataAdapter tks fd System.Data.SqlClient esa Exist gksrk gS] DbDataAdapter ls Derived gS vkSj IdbDataAdapter Interface dks Implement djrk gSA System.Data.Common Namespace dh eq[; :i ls Notable Classes fuEukuqlkj gSa%

DataAdapter Class bl Class ds Objects ADO.NET ds Connected o Disconnected Parts ds chp e/;LFk dk dke djrs gSaA ;s Objects DbCommand Objects ds :i esa Data Commands dks rFkk DbConnection Object ds :i esa Data Source Connection ds Hold djrs gSa tks fd DataSet o DataTable Objects dks Appropriate Data ls Fill djrs gSa lkFk gh Data Source dks Update djrs gSaA ;s Data Source, DbDataAdapter ds vykok fdlh Hkh izdkj dk gks ldrk gS] D;ksafd ;s dsoy Relational Data Source ds lkFk gh dke djrk gSA

DbCommand Class bl Class ds Objects dk iz;ksx Data Source ij SQL Commands dks Execute djus ds fy, fd;k tkrk gSA

DbCommandBuilder Class bl Class ds Objects Command Object ds fy, INSERT, UPDATE o DELETE SQL Statements Create djrs gSa] ftUgsa Data Adapter }kjk Use fd;k tkrk gSA bl Type ds Objects dk iz;ksx dsoy fdlh Single Data Source Table ds lkFk gh fd;k tk ldrk gS vkSj dsoy mlh fLFkfr esa fd;k tk ldrk gS] tcfd SELECT SQL Statement Specify fd;k x;k gks rFkk Row Schema ds :i esa de ls de ,d Unique Column Return gksrk gSA

DbConnection Class bl Class ds Objects Data Source ds lkFk Actual Connection Establish djus dk dke djrs gSaA

Page 32: Ado.ne twith csharpinhindi

31

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

DbConnectionOption Class bl Class dk iz;ksx Provider Factory Classes }kjk fd;k tkrk gSA Provider Factory Classes }kjk bls Connection Create djus ds fy, Use fd;k tkrk gSA gkykafd bls fdlh Connection String dks Key-Value Pair ds :i esa Convert djus ds fy, Manually Hkh Use fd;k tk ldrk gSA

bl Class esa dqN Properties o Methods gksrs gSa] tks fd fdlh Connection String Value dks Key-Value Pair o Integer rFkk Boolean ekuksa esa Convert djus esa l{ke gksrs gSaA lkFk gh Specified String esa fdlh Specific Key tSls fd “Data Source” vkfn dks Check djus dk dke Hkh dj ldrs gSaA

DbConnectionStringBuilder Class ;s Class dksbZ Connection String Create djus okyh Base Class gS vkSj bldk iz;ksx Data Provider Factory ds lkFk djrs gq, fdlh Configuration File ls fdlh Connection String Create, Edit ;k Read djus rFkk Connection String dks Configuration File esa Save djus ds fy, fd;k tk ldrk gSA

DbDataAdapter Class ;s ,d Abstract Helper Class gS] ftldk iz;ksx IDbDataAdapter Interface ds lkFk fd;k tkrk gSA DbDataAdapter Class dks DataAdapter Class ls Derive fd;k x;k gS vkSj bldk iz;ksx fdlh Relational Database ds fy, Data Adapter Create djus ds fy, fd;k tkrk gSA ,slk Data Adapter Create djus ds fy, ,d ,slh Class Create dh tkrh gS] ftlesa DbDataAdapter Class dks Inherit rFkk IdbDataAdapter Interface dks Implement fd;k x;k gksrk gSA

DbDataReader Class ;s Class fdlh Data Source ls Return gksus okys Forward-Only Row Stream dks Read djrk gS] tgka ,d le; esa ,d ckj esa dsoy ,d gh Row (Record) Access gks ldrk gSA tc ge DbDataReader Class dk iz;ksx djrs gq, Rows dh Reading djrs gSa] rc ml nkSjku Connection dk Open jguk t:jh gksrk gS D;ksafd Request Perform gksus ij bu Rows dks Directly Data Source ls Read fd;k tkrk gSA

DbDataRecord Class ;s Class IDataRecord o ICustomTypeDescriptor Interface dks Implement djrk gSA bl otg ls ;s DbEnumerator Class ds fy, Data-Binding Support Provide djrk gSA lkekU;r% bl Class dks ASP.NET Pages esa DataBinder.Eval Method ds LFkku ij Data-Binding djus ds fy, Use fd;k tkrk gS] tks fd Reflection dk iz;ksx djus ds dkj.k Performance dks izHkkfor djrk gSA

Page 33: Ado.ne twith csharpinhindi

32

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

DbException Class ;s ,d Generic Exception Class gS] ftldk iz;ksx Data-Related Exceptions Throw djus ds fy, fd;k tkrk gSA ;s ,d Abstract Class gS tks fd ExternalException Class ls Inherited gSA

DbParameter Class bl Class dk iz;ksx gekjs SQL Command ds ek/;e ls Dynamic Queries Create djus ds fy, Parameters Pass djus gsrq fd;k tkrk gS] rkfd t:jr ds vuqlkj vyx&vyx Parameters Pass djds Command }kjk Database ij Fire gksus okyh SQL Queries dks Modify djrs gq, vyx&vyx izdkj ds Results izkIr fd, tk ldsaA

DbProviderConfigurationHandler Class bl Class dk iz;ksx DbProviderFactory Class dks Application ds Configuration File esa Specified Values ds vk/kkj ij Configure djus ds fy, fd;k tkrk gSA

DbProviderFactory Class bl Class dk iz;ksx fofHkUu izdkj ds Input ds fy, Provider-Specific Data-Aware Classes Create djus ds fy, fd;k tkrk gSA

DbTransaction Class ;s ,d Generic Transaction Class gS] ftldk iz;ksx SQL Statements dks “All or Nothing” Transaction ds :i esa Encapsulate djus ds fy, fd;k tkrk gSA lkekU;r% bldk iz;ksx Connection Object ds lkFk fd;k tkrk gSA

System.Data.Design Namespace ADO.NET Namespace dk ;s lcls NksVk Namespace gS] ftlesa Code o Parameters ds lkFk os Classes Exist gSa] ftudk iz;ksx DataSet Object Create djus ds fy, fd;k tkrk gSA bu Classes dks lkekU;r% ADO.NET }kjk Internally Use fd;k tkrk gS] ftUgsa ge Visual Studio esa DataAdapter Object ds ek/;e ls Created DataSet Object ds :i esa ns[k ldrs gSaA

Page 34: Ado.ne twith csharpinhindi

33

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

ADO.NET ObjECT MODEl

Page 35: Ado.ne twith csharpinhindi

34

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

ADO.NET – Object Model ADO.NET, .NET Framework ds vUrxZr System.Data Namespace ds :i esa Exist gSA tcfd .NET Framework ds vU; Namespaces tSls fd System.Windows.Forms, System.Xml, System.Web o vU; Namespaces, ADO.NET dh Classes ds lkFk Communication djrs gq, fofHkUu izdkj dh Data Related Accessing o Manipulation Requirements dks iwjk djrs gSaA BindingSource uke dh Class, System.Windows.Forms uke ds Namespace esa Exist blh izdkj dh ,d Class gS] ftldk iz;ksx Data-Binding Purpose dks iwjk djus ds fy, Data-Source dks Encapsulate djus gsrq fd;k tkrk gSA ADO.NET esa Defined Drag and Drop Operation, Data Driven Application Create djus dk ,d Quick o Easy rjhdk gS] tgka ge Data Source ls Bound Controls dks Drag and Drop rduhd dk iz;ksx djrs gq, cMh gh vklkuh ls Form ij Place dj ldrs gSa vkSj cMh gh rsth ls Data Driven, Working Application Form Design dj ldrs gSaA gkykafd tc ge Enterprise Level ds Data Driven Application Software Develop dj jgs gksrs gSa] rc ;s Drag and Drop rduhd gekjs fy, dqN T;knk mi;ksxh ugha gksrhA ml fLFkfr esa Manual Codes fy[kuk gh gekjs fy, lcls mi;qDr o csgrj Option jgrk gSA vr% ADO.NET ds Internal Architecture dks csgrj rjhds ls le>uk gekjs fy, cgqr t:jh gksrk gS] rkfd ge Enterprise Level ds Data Driven Application dks Develop djrs le; vius Application dks T;knk csgrj rjhds ls Control o Handle dj ldsaA fiNys Chapter esa geus ADO.NET ds ckjs esa ,d vkSj ckr le>h Fkh fd ADO.NET dk Connected Portion iwjh rjg ls Data Source Specific gksrk gSA tgka fdlh Particular Data Source ds fy, Define fd, x, Connected Portion dks ,d Combined Group ds :i esa .NET Data Provider ds uke ls Refer fd;k tkrk gSA lkekU;r% Data Providers ls lEcaf/kr fofHkUu Functionalities muds Lo;a ds uke ds Namespace ds ek/;e ls miyC/k gksrh gSa] tks fd System.Data Namespace ds vUnj Sub-Namespace ds :i esa Exist gksrs gSaA mnkgj.k ds fy, ;fn ge Oracle Database ls Connect djuk pkgrs gSa] rks Oracle Database ls Connection LFkkfir djus ls lEcaf/kr lHkh t:jh Functionalities System.Data.OracleClient uke ds Namespace esa Exist gksrh gSA blh rjg ls MS-SQL Server Database dks Use djus ls lEcaf/kr lHkh t:jh Functionalities System.Data.SqlClient uke ds Namespace esa Exist gksrh gSA gkykafd ;s ,d Convention gS] blfy, t:jh ugha gS fd lHkh Data Providers bl Convention dks iwjh rjg ls Follow djsaA okLro esa fofHkUu .NET Data Providers }kjk Supplied fofHkUu izdkj dh Classes o Interfaces dks fdlh Hkh Third-Party .NET Data Provider }kjk vklkuh ls Inherit o Implement fd;k tk ldrk gSA mnkgj.k ds fy, ge gekjh t:jr ds vuqlkj viuk Lo;a dk .Net Data Provider

Page 36: Ado.ne twith csharpinhindi

35

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Create dj ldrs gSa vkSj ,slk djus ds fy, gesa dsoy Appropriate Classes o Interfaces dks Inherit o Implement gh djuk gksrk gSA ADO.NET ,d Data Access Architecture gS] tks gesa fdlh Data Source ds lkFk Connection Establish djus] Data Source ij fdlh SQL Query dks Command ds ek/;e ls Execute djus] Command esa Specified SQL Queries dks Dynamic cukus gsrq muesa Parameters Pass djus o Command }kjk Fired SQL Queries ds dkj.k Generate gksus okys Results dks fQj ls Fetch djus dh lqfo/kk Provide djrk gSA

DbConnection – To Establish Connection Data Source ds lkFk fdlh Hkh izdkj dh izfØ;k djus ds fy, lcls igys gekjs Frontend Application dks Backend Database ls Connection LFkkfir djuk gksrk gSA pwafd orZeku le; esa fofHkUu izdkj ds Data Sources (Oracle, SQL Server, MySql, etc…) Exist gSa vkSj ,d gh Computer System ij vyx&vyx Data Sources dks Install fd;k tk ldrk gS] blfy, gesa gekjs Frontend Application dk ftl Data Source ds lkFk Connection LFkkfir djuk gksrk gS] ml Data Source ds Name, User ID o Password dh t:jr gksrh gSA gkykafd fofHkUu izdkj ds Data Sources, fofHkUu izdkj ds Operations dks Support djrs gSaA ysfdu lHkh Data Sources esa dqN Functionalities iwjh rjg ls Common Hkh gksrh gSA tSls fd Connection Establish djuk] Data dks Database esa Insert, Update, Delete djuk o Database ds Connection dks Close djuk] vkfnA ;kuh fofHkUu izdkj ds Data Sources esa vkil esa dqN lekurk,sa gksrh gSa rks dqN vlekurk,sa Hkh gksrh gSaA blfy, ;s le>uk t:jh gS fd gj Data Source ds Connection Object dk ,d Individual Implementation gksrk gS] tks fd leku Base Class ls Inherit gksrk gS vkSj leku Interfaces dks Implement djrk gSA leku Base Class ls Inherit gksuk lHkh Data Sources dh leku Functionalities dks Represent djrk gS tcfd Create gksus okyh ubZ Class, esa Defined o Implemented u, Features, fofHkUu Data Sources dh fofHkUurkvksa dks Specify djus dk dke djrs gSaA ADO.NET dh Connection Class, DbConnection uke dh Base Class ls Inherit gksdj rFkk IDbConnection Interface dks Implement djds ;gh dke djrk gSA ;kuh Base Class dh Common Functionalities tSls fd Connection Open djuk, Connection Close djuk vkfn izkIr djrk gS tcfd Create gksus okyh ubZ Connection Class esa Data Source dh Specialties dks Handle djus ls lEcaf/kr Specific ckrksa dks bl Newly Create gksus okyh Connection Class esa IDbConnection Interface dks Implement djds Define fd;k tkrk gSA bl izdkj ls SqlConnection Class, tks fd System.Data.SqlClient.SqlConnection ds :i esa Exist gS] System.Data.Common.DbConnection ls Inherited gS vkSj System.Data.Common.DbConnection Class esa System.Data.IDbConnection Interface Implemented gSA

Page 37: Ado.ne twith csharpinhindi

36

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

blh rjg ls OracleConnection Class, tks fd System.Data.SqlClient. OracleConnection ds :i esa Exist gS] System.Data.Common.DbConnection ls Inherited gS vkSj System.Data.Common.DbConnection Class esa System.Data.IDbConnection Interface Implemented gSA bl Hierarchy dks ge fuEu fp=kuqlkj T;knk ljy rjhds ls Represent dj ldrs gSa%

;kuh ADO.NET Architecture esa ,d Valid Connection Object ds :i esa Qualify djus ds fy, fdlh Hkh Class dks System.Data.Common.DbConnection Class dks Inherit djuk iMrk gSA tSlkfd mijksDr fp= esa ge ns[k ldrs gSa fd SqlConnection o OracleConnection uke dh nksuksa Connection Classes u dsoy IDbConnection Interface dks Implement dj jgs gSa] cfYd IDisposable Interface dks Hkh Implement dj jgs gSaA ,slk blfy, fd;k tk jgk gS D;ksafd gj Connection Object dqN Valuable Resources (Memory) Occupy djrk gS] ftls Dispose u djus ij og Resource fdlh vU; Object ds fy, Usable ugha jgrk] tc rd fd CLR }kjk Automated Garbage Collection Perform u

Page 38: Ado.ne twith csharpinhindi

37

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

fd;k tk,A ysfdu IDisposable Interface dks Implement djus ij Create dh tk jgh Connection Class esa Dispose() Method dks Implement djuk t:jh gks tkrk gSA ifj.kkeLo:i gekjs Connection Class }kjk Occupied Resources dks Dispose djus dk Control gekjs ikl vk tkrk gS vkSj ge gekjh t:jr o bPNkuqlkj tc pkgsa rc Connection dks Dispose djrs gq, Connection }kjk Occupied Resources dks Free dj ldrs gSaA blh izdkj ls IDbConnection uke dk Interface fofHkUu Connection Objects ds chp ,d Common vk/kkj Establish djus ds fy, dqN Common Properties o Methods Specify djrk gS] ftls bl Interface dks Implement djus okyh Class esa Define djuk Compulsory gksrk gSA rkfd lHkh Connection Objects dk vk/kkj ,d leku gks vkSj lHkh Connection Objects, Valid Connection Object ds :i esa Qualify gks ldsaA ;kuh lHkh Connection Objects Frontend ls Connection Establish djus] Connection Close djus tSls Common Tasks dks Perform djus ds ekeys esa ,d leku gksaA blh otg ls fdlh Hkh .NET Data Provider dks Data Source ij Connection Establish djus ds fy, Use djrs le; ge Open() uke ds Method dks gh Use djrs gSa] Connect() ;k EstablishConnection() uke ds Method dks ughaA D;ksafd fiNys Paragraph esa Discussed rjhds ds vuqlkj Connection Class Define djus dh otg ls lHkh .NET Data Providers dks Connection Class ls lEcaf/kr leku Architecture dks Follow djuk iMrk gSA blfy, pkgs tks Hkh Data Source gks] ml Data Source ls lEcaf/kr Common Functionalities dks Perform djus ds fy, Common ukeksa dk gh iz;ksx djrs gq, Connection Class dks Define djuk t:jh gksrk gSA fiNys fp= ds vuqlkj /;ku nsus okyh ,d vkSj ckr ;s Hkh gS fd DbConnection Class dks System.ComponentModel.Component Class ls Derive fd;k x;k gSA ftldk eryc ;s gS fd ADO.Net Connection Object dks fdlh ,sls Environment esa Design Time esa Hosted fd;k tk ldrk gS] tks fd IContainer Interface dks Implement djrk gS D;ksafd fdlh Component dks fdlh ,sls Container ds vUnj Hosted fd;k tk ldrk gS] ftlesa IContainer Interface Implemented gSA Frontend Application dk Backend Database ds lkFk Connection Establish djuk lcls igyk dke gksrk gSA bl dke ds Perform gks tkus ds ckn gesa vxyk dke djuk gksrk gS ftlds vUrxZr ge ,d Command Execute djrs gSa tks fd ,d izdkj dk SQL Statement gksrkA Command dks gesa”kk fdlh Connection ij Execute fd;k tkrk gS vkSj D;ksafd ,d Command vius Underlying Data dks Change dj ldrk gS] blfy, ;s t:jh gksrk gS fd Command Object ds lkFk fdlh izdkj dk Transactional Semantics Associated gksA

Page 39: Ado.ne twith csharpinhindi

38

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

DbCommand – To Execute Command ftl rjg ls ADO.NET Framework esa fofHkUu .NET Data Providers ds Implementations ds chp dqN Commonality gksrh gS] mlh rjg ls Command Object ij Hkh Commonality gksrh gSA ;kuh ftl rjg ls Connection Class dks System.Data.Common.DbConnection Class ls Inherit djuk gksrk gS] Bhd mlh rjg ls Command Class dks System.Data.Common.DbCommand Class ls Inherit djuk gksrk gS] tcfd Lo;a System.Data.Common.DbCommand Class esa IDbCommand Interface dks Implement fd;k x;k gSA vr% Microsoft SQL Server Specific Command Class, tks fd SqlClient Namespace esa Exist gS] DbCommand Class ls Inherited gSA blh rjg ls Oracle Server Specific Command Class, tks fd OracleClient Namespace esa Exist gS] Hkh DbCommand Class ls Inherited gSA blhfy, bu nksuksa gh Classes esa leku Behavior o Commonality Exist gSA pwafd fdlh Hkh Command dks Execute gksus ds fy, gesa”kk fdlh u fdlh Connection Object dh t:jr gksrh gS] bl dkj.k ls DbCommand Class esa Connection uke dh ,d Property Hkh Exist gS] ftlesa Specified Object dk DbConnection Type dk gksuk Hkh t:jh gksrk gSA blfy, D;ksafd SqlConnection Class, DbConnection Class ls Inherited gS vkSj SqlCommand Class, DbCommand Class ls Inherited gS] blfy, ge SqlConnection Object dks SqlCommand.Connection Property esa Specify dj ldrs gSaA blh rjg ls ;fn Command Object ds ek/;e ls fdlh Transaction dks Execute djuk gks] rks DbCommand Object esa Transaction uke dh Hkh ,d Property gksrh gS] tks fd DbTransaction Type dh Property gSA DbTransaction Class ,d Base Class gS] ftlesa IDbTransaction uke ds Interface dks Implement fd;k x;k gSA ftldh otg ls gesa fofHkUu .NET Data Providers ds Transaction Implementation esa Common Methods dks Define djuk gksrk gSA ifj.kkeLo:i gesa fofHkUu izdkj ds Data Sources ds fy, Common Methods o Properties dks Use djus dh lqfo/kk izkIr gks tkrh gSA blfy, ge OracleTransaction dks OracleCommand.Transaction Property esa Specify dj ldrs gSa] tks fd DbTransaction dks esa Inherit djrk gSA bl Implementation dks ge fuEu fp= }kjk T;knk csgrj rjhds ls le> ldrs gSa%

Page 40: Ado.ne twith csharpinhindi

39

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

bl fp= esa ge tks ,d vkSj ckr Note dj ldrs gSa] og ;s gS fd DbConnection Class dh rjg gh DbCommand Class Hkh System.ComponentModel.Component Class ls Inherited gS] ftldh otg ls ge Visual Studio esa bl Command Object dks Visually ns[k ldrs gSaA lkekU;r% Commands dks Generic Fashion esa fy[kk tkrk gSA ;kuh Commands dks bl rjg ls fy[kk tkrk gS fd ge ,d gh Command Object dks vyx&vyx rjg dh t:jrksa dks iwjk djus ds fy, Reuse fd;k tk ldsA mnkgj.k ds fy, ;fn fdlh Command dks fdlh ,d Customer dh Information Retrieve djus ds fy, fy[kk x;k gS] rks vyx&vyx Parameters Pass djds mlh Command dks vyx&vyx Customers dh Information izkIr djus ds fy, Reuse fd;k tk lds] bl ckr dks /;ku esa j[krs gq, gh Commands Create fd, tkrs gSaA

DbParameter – To Create Parameterized Commands Parameterized Queries dh viuh cgqr lkjh fo”ks’krk,sa gSa] ftlesa lcls eq[; fo”ks’krk ;gh gS fd ge ,d gh Command dks vyx&vyx Parameters Specify djrs gq, ,d gh SQL Statement dk iz;ksx vyx&vyx Record Retrieve djus ds fy, dj ldrs gSaA lkFk gh Parameterized Queries dk iz;ksx djus ij SQL Injection Attacks tSlh ijs”kkfu;ka Hkh iSnk

Page 41: Ado.ne twith csharpinhindi

40

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

ugha gksrh] ftlls gekjk Database T;knk Secure jgrk gSA D;ksafd bl fLFkfr esa ge gekjs Parameter dks String Format esa ugha cfYd ,d Variable esa Stored String Format esa Specify djrs gSaA tSls% UPDATE Customers SET FirstName = 'Kuldeep' WHERE CustomerID = 1 blh Statement dks tc ge Parameterized Form esa fy[krs gSa] rks gekjk Statement dqN fuEukuqlkj gks tkrk gS% UPDATE Customers SET FirstName = @FirstName WHERE CustomerID = @CustID tc ge bl izdkj dh Query fy[krs gSa] rc gesa ;s lqfo/kk izkIr gks tkrh gS fd ge tc pkgsa rc Programmatically @FirstName o @CustID Variables dk eku Change djds blh SQL Query dks fdlh vU; Record dks Update djus ds fy, Use dj ldrs gSaA pwafd Command dks DbCommand Type ds Object }kjk Represent fd;k tkrk gS vkSj lHkh .NET Data Providers dks Parameterized Commands dh t:jr gks ldrh gS] blfy, Commonality dks Enforce djus ds fy, ;kuh lHkh .NET Data Providers }kjk leku izdkj ds dkeksa dks Perform djus gsrq leku uke dh Properties o Methods dks Define djus ds fy, Parameters uke dk ,d Property Provide fd;k tkrk gSA Parameters Property okLro esa DbParametersCollection Type dh ,d Property gS] tks fd DbParameter Class dk Connection ek= gSA bls ge fuEu fp= }kjk T;knk csgrj rjhds ls Represent dj ldrs gSa%

Page 42: Ado.ne twith csharpinhindi

41

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

tSlkfd ge bl fp= esa ns[k ldrs gSa fd SqlCommand o OracleCommand nksuksa ds Parameters Property dks Double Arrow }kjk Represent fd;k x;k gS] tks fd bl ckr dk Indication gS fd ;s dksbZ Singular Object ugha cfYd ,d Collection gSA lkFk gh ge mijksDr fp= esa ;s Hkh ns[k ldrs gSa fd DbCommand.Parameters Property, DbParametersCollection dks Point dj jgk gS] tcfd SqlCommand.Parameters Property SqlParameterCollection dks Point dj jgk gS] tks fd cgqr lkjs SqlParameter dks Hold dj ldrk gSA blh rjg ls OracleCommand.Parameters Property, OracleParameterCollection Type ds Object dks Point djrk gS] tks fd OracleParameters dk ,d Collection gSA bl izdkj ls gj .NET Data Provider, tks fd Command Object dks Implement djrk gS] mlesa Parameters Property dk Exist gksuk t:jh gksrk gSA tcfd bl Parameters Property esa fdlh ,sls Type ds fdlh Object dks Hold djrk gS] ftls DbParametersCollection ls Inherit fd;k x;k gS vkSj tks DbParameter Class dk ,d Collection gSA tc fdlh Connection ij fdlh Command dks Execute dj fn;k tkrk gS] mlds ckn Data Source ls tks Result Return gksrk gS] mls fdlh Object esa Hold djus dh t:jr iMrh gS] rkfd Frontend Program esa ml Database ls Fetched Data dks Use fd;k tk ldsA

Page 43: Ado.ne twith csharpinhindi

42

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

bl Data dks Hold djus ds fy, ge gekjk Lo;a dk Object Define dj ldrs gSa vFkok ;fn ge pkgsa rks .NET Framework ds DataSet Type ds Object dk Hkh iz;ksx dj ldrs gSa] tks fd gekjs Data dks Hold djus ds fy, ,d Disconnected Cache dh rjg O;ogkj djrk gSA

DataSet – Holding Disconnected Data tSlkfd geus igys Chapter esa ns[kk Fkk fd ADO.NET dks ewy :i ls nks cMs Hkkxksa esa Divide fd;k x;k gS] ftlds vUrxZr fofHkUu Connected o Disconnected Type ds Objects dks Define fd;k x;k gSA Connection, Command, Transaction o Parameter Objects os Objects gSa] tks fd .NET Data Provider dks ifjHkkf’kr djrs gSaA ;kuh bUgh Objects ds Combination dks .NET Data Provider dgk tkrk gS vkSj bu Objects dks izfØ;k djus ds fy, gesa”kk Underlying Data Source ds lkFk Connected jguk t:jh gksrk gSA Commands dks ewy :i ls rhu Hkkxksa esa foHkkftr fd;k tk ldrk gS] ftUgsa Data Definition Language (DDL), Data Manipulation Language (DML) o Data Query Language (DQL) ds uke ls tkuk tkrk gSA DDL Commands dk iz;ksx djds fdlh Database ds Structure dks Define fd;k tkrk gSA DML Commands dk iz;ksx djds ge UPDATE, INSERT o DELETE Queries dks Underlying Data Source ij Execute djus dh lqfo/kk izkIr djrs gSaA tcfd DQL dk iz;ksx djds ge Database ij fofHkUu izdkj dh Queries dks Fire djrs gq, Database esa Stored Data dks Access djrs gSaA tc ,d ckj mijksDr rhuksa esa ls fdlh Hkh ,d izdkj dk Command Execute gks tkrk gS] rks vDlj bu Commands ds Execution ls Return gksus okyk Result Singular ugha gksrk ;kuh Executed Query ls ,d ls T;knk Results Generate gksrs gSaA Return gksus okyk Resultset ,d izdkj dk Tabular Formatted Data gksrk gS] ftlesa ,d ;k ,d ls vf/kd Rows (Records) Contained gks ldrs gSaA bl Resultset dks DataReader Object ds ek/;e ls Connected Fashion esa Hkh Read fd;k tk ldrk gSA tcfd Resultset dks Read djus dk vU; rjhdk ;s gS fd ge Returned Resultset ls fdlh Object dks Fill dj nsa] tks fd Underlying Data Source ls iwjh rjg ls Disconnected gksA pwafd Command ds Execute gksus ij Generate gksus okyk gekjk Data vius Underlying Database ls iwjh rjg ls Disconnected gksrk gS] blfy, bldk Implementation fdlh ,d Data Source ij vk/kkfjr ugha gksuk pkfg,A rkfd vyx&vyx izdkj ds Data Sources ls Generate gksus okys vyx&vyx izdkj ds Resultset dks bl Disconnected Object esa fcuk fdlh ijs”kkuh ds Hold fd;k tk ldsA vU; “kCnksa esa dgsa rks Generate gksus okys Resultset dks Hold djus okys Disconnected Data dk rc rd fdlh ,d Specific izdkj ds Underlying Data Source tSls fd MS SQL Server ;k Oracle ij vk/kkfjr ugha gksuk pkfg,] tc rd fd Connected o Disconnected Objects ds chp dksbZ Object Bridge dh rjg Exist gksA ;kuh ml Object dk Implementation, tks fd

Page 44: Ado.ne twith csharpinhindi

43

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Disconnected Data dks Hold dj jgk gS] mldk fdlh Particular Data Source (Oracle, MySQL, MSSQL Server, etc…) Specific ugha gksuk pkfg,A bl izdkj ls Implemented Connected o Disconnected Objects ds chp ds Bridge Object dks DataAdapter uke ls tkuk tkrk gSA tSlkfd geus igys Hkh dgk fd Command Execute gksus ds ckn Generate gksus okys Disconnected Data dks Hold djus ds fy, ge gekjk Lo;a dk Business Object Hkh Create dj ldrs gSa vFkok ;fn ge pkgsa rks .NET Framework ds igys ls Exist DataSet uke ds Object dks Hkh Use dj ldrs gSaA DataSet .NET Framework esa ,d igys ls Exist o Ready to Use Disconnected Cache Object gksrk gS] tks fd Command ds Execute gksus ds ckn Underlying Data Source ls Generate gksus okys Resultset dks Disconnected Form esa Hold djds j[krk gSA DataSet Object o mlls Associated fofHkUu Disconnected Objects ds Structure dks ge fuEukuqlkj Represent dj ldrs gSa%

DataSet dks le>us dk lcls Best rjhdk ;s gS fd RDBMS dks DataSet ds leku gh ekuk tk,A ;kuh DataSet ,d izdkj ls fdlh RDBMS Software dk In-Memory Representation gh gksrk gSA bl Object dk eq[; mÌs”; oks djuk gS] tks RDBMS ugha dj ldrk] ;kuh ;s Object fdlh RDBMS ds Disconnected Form esa Memory esa Represent djrk gSA DataSet ftl izdkj ls fdlh RDBMS dk In-Memory Representation gksrk gS] Bhd mlh rjg ls DataTable fdlh RDBMS ds fdlh Table dk In-Memory Representation gksrk gSA

Page 45: Ado.ne twith csharpinhindi

44

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

tcfd DataRelation Object fdlh RDBMS ds Foreign-Key Constraint dk In-Memory Representaion gksrk gSA blh rjg ls DataColumn fdlh RDBMS ds fdlh Table ds fdlh Column dk In-Memory Representation gksrk gS] tcfd DataRow fdlh RDBMS ds fdlh Table ds fdlh Row dk In-Memory Representation gksrk gSA bl izdkj ls DataSet Object esa Tables uke dh ,d Property ds :i esa DataTable Objects dk ,d Collection gksrk gS] tks fd DataTableCollection Type dk Object gksrk gSA tcfd DataSet Object esa Relations uke dh ,d Property ds :i esa DataRelation Objects dk ,d Collection gksrk gS] tks fd DataRelationCollection Type dk Object gksrk gSA blh rjg ls DataTable Object esa Columns uke dh ,d Property ds :i esa DataColumn Objects dk ,d Collection gksrk gS] tks fd DataColumnCollection Type dk Object gksrk gSA tcfd DataTable Object esa Rows uke dh ,d Property ds :i esa DataRow Objects dk ,d Collection gksrk gS] tks fd DataRowCollection Type dk Object gksrk gSA DataTable Object esa Constraint Hkh Defined gks ldrk gS] tks fd bl Object dh Constraints Property ds :i esa ConstraintCollection Type ds Objects dks Hold djrk gS tks fd ;k rks Constraint Type dk Object gksrk gS ;k fQj Constraint Type ls Inherit gksrk gSA tc ,d ckj gekjk Command Execute gks tkrk gS] ftls Execute djus ds ckn Underlying Data Source ls Generate gksus okys Resultset dks fdlh Disconnected Object esa Hold dj fn;k tkrk gS] mlds ckn ml Disconnected Data dks Read fd;k tkrk gSA

DataReader and DataAdapter – To Fetch Resultset vc tcfd gekjs ikl ,d Object gS ftlesa Disconnected Data Hold gS vkSj fofHkUu izdkj ds Transactional o Parameterized Commands Execute gksus o Disconnected Data ls Connect gksus ds fy, fofHkUu izdkj ds Objects dk lewg miyC/k gS] vc gekjs ikl Underlying Data Source ls Data dks Fetch djus ds fy, nks rjhds gSa] ftudk iz;ksx fd;k tk ldrk gSA bu nksuksa rjhdksa esa eq[; vUrj bl ckr dk gS fd ;s nksuksa rjhds fdruh nsj rd Connection dks Open j[krs gSaA igys rjhds ds vUrxZr ge DataReader Object Use djrs gSa] ftls Generated Result dks Fetch djus ds fy, Open o Available Connection dh t:jr gksrh gSA ;s rjhdk Single User gksus dh fLFkfr esa T;knk Fast Speed ls dke djrk gSA ysfdu tc cgqr lkjs Users bl izdkj ls Access gks jgs Data dks Use djrs gSa] rc ;s rjhdk Connection Pooling dks dkQh izHkkfor djrk gSA nwljs rjhds ds vUrxZr ge DataAdapter Object dks Use djrs gSaA ;s Object FkksMk vyx rjhds ls dke djrk gS] ftlesa ;s Object Command dks Execute djus ds ckn Generate gksus okys

Page 46: Ado.ne twith csharpinhindi

45

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Resultset dks ,d DataSet ;k DataTable Object esa Fill djrk gS] tks fd ,d izdkj dk Disconnected Cache gksrk gSA tc ,d ckj ;s Object Command ds Fire gksus ds ckn Generate gksus okys lkjs Data dks fdlh Appropriate Object esa Fill dj nsrk gS] mlds ckn ;s vius vkidks Underlying Data Source ls Disconnect dj ysrk gSA ftlls ml Underlying Physical Connection dks fdlh vU; Object }kjk Reuse fd;k tk ldrk gSA

DbDataReader – To Fetch Data in Connected Way dqN Commands Data Fetch djrs gSa] dqN Commands Data Manipulate djrs gSa tcfd dqN Commands nksuksa dke djrs gSaA bl otg ls Command dks Execute djus ds fy, DbCommand esa dbZ Methods gksrs gSaA mnkgj.k ds fy, DbCommand Object esa ExecuteNonQuery() uke dk ,d Method gksrk gS] tks Command ds Execute gksus ij Affect gksus okys dqy Rows dh la[;k Return djrk gSA blh izdkj ls DbCommand gesa ExecuteReader() uke dk ,d vkSj Method Provide djrk gS] ftls rc Use fd;k tkrk gS] tc ge fdlh Query ds Result dks Resultset dh rjg Fetch djuk pkgrs gSaA tcfd DbCommand dk ExecuteReader() Method ,d ,slk Object Return djrk gS] tks fd DbDataReader Class ls Inherited gksrk gSA tgka DbDataReader ,d Common Abstract Base Class gS vkSj fdlh Hkh Data Reader Class dks bls Inherit djuk t:jh gksrk gSA bl O;oLFkk dks ge fuEu fp= }kjk csgrj rjhds ls le> ldrs gSa%

Page 47: Ado.ne twith csharpinhindi

46

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

tc gekjs ikl ,d DataReader Object gksrk gS] rc ge blds lkFk fofHkUu izdkj ds Methods dks Use dj ldrs gSa] Returned Resultset ds fofHkUu Records ij Iterate dj ldrs gSa vkSj Current Position ds Record ds fofHkUu Columns dh Values dks Read dj ldrs gSaA ;gka bl ckr dks /;ku j[kuk t:jh gS fd Data Reader ,d Read-Only ;k Forward-Only Object gksrk gS] tks mlh fLFkfr esa dke djrk gS] tcfd Underlying Physical Database Connection Open gksrk gSA

DbDataAdapter – Bridge between Connected and Disconnected DataAdapter Object ,d Bridge Object gksrk gS] tks ADO.NET ds Disconnected Part o Connected Part ds chp Exist gksrk gS vkSj nksuksa ds chp ds Communication dk ek/;e curk gSA pwafd Data Adapter Object dk Actual Implementation iwjh rjg ls Underlying Data Source ij vk/kkfjr gksrk gS] blfy, ;fn Backend ds :i esa MSSQL Server dks Use fd;k tk jgk gks] rks ADO.NET ds Connected o Disconnected Parts dks Communicate djokus ds fy, SqlDataAdapter dh t:jr gksrh gSA tcfd ;fn Backend ds :i esa Oracle Server dks Use fd;k tk jgk gks] rks ADO.NET ds Connected o Disconnected Parts dks Communicate djokus ds fy, OracleDataAdapter dh t:jr gksrh gSA tcfd ;fn gesa ODBC ;k OleDb ds ek/;e ls Generic Access dh t:jr gks] rks gesa OdbcDataAdapter o OleDbDataAdapter tSls Generic Data Adapters ds ek/;e ls ADO.NET ds Connected o Disconnected Parts ds chp Communication LFkkfir djokuk iMrk gSA lkFk gh ADO.NET Object ds vU; Connected Parts dh rjg gh fofHkUu Data Adapters ds chp Commonality dks Enforce djus dh lqfo/kk DbDataAdapter Class ds ek/;e ls izkIr gksrh gS] ftlds ckjs esa ge fuEu fp= }kjk csgrj rjhds ls le> ldrs gSa%

Page 48: Ado.ne twith csharpinhindi

47

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

tSlkfd ge mijksDr fp= esa ns[k ldrs gSa fd SqlCommand o OracleCommand uke dh nks Classes gSa vkSj nksuksa gh Classes DbCommand uke dh Class ls Inherited gSaA Data Adapter Class dks Normal rjhds ls dke djus ds fy, fofHkUu DbCommand tSls fd InsertCommand, UpdateCommand, DeleteCommand o SelectCommand dh t:jr gksrh gS tks fd Øe”k% INSERT, UPDATE, DELETE o SELECT uke ds SQL Operations dks Represent djrs gSaA DbDataAdapter uke dh Base Class, DbCommand Data Type dh pkj Properties ds :i esa bUgha pkjksa Commands dks Define djrk gSA SqlDataAdapter, OracleDataAdapter vkfn vU; Specific Data Adapters Hkh ADO.NET Connected Objects ds leku gh bUgha pkjksa Commands InsertCommand, UpdateCommand, DeleteCommand o SelectCommand dks pkj Properties ds :i esa Available djokrs gSa] tks fd Data Provider Specific Command Objects tSls fd SqlCommand o OracleCommand dks Value ds :i esa Accept djrs gSaA

ADO.NET – Exception Handling fdlh Hkh Programming Language Architecture esa Exception Handling ,d cgqr gh egRoiw.kZ Part gksrk gSA blfy, .NET Architecture Hkh gesa ,d Exception Handling Mechanism Provide djrk gS] tks fd fofHkUu izdkj dh Error o Exception Conditions dks Handle djus dh lqfo/kk nsrk gSA C++ o Java dh rjg gh .NET Framework dh Programming Languages esa Hkh Exception Handling ds fy, try … catch Block rjhds dks gh Use fd;k x;k gSA ftlds vUrxZr tks

Page 49: Ado.ne twith csharpinhindi

48

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

.NET Code fdlh Hkh rjg dk Error ;k Exception Trigger djus dk dkj.k cu ldrk gS] mls try Block esa Enclose fd;k tkrk gS] tcfd try Block esa Enclosed Code }kjk ftl fdlh Hkh rjg dh Errors Generate gks ldrh gSa] mu Errors dks Handle djus ls lEcaf/kr Error Handling Codes dks catch Block esa fy[kk tkrk gSA C# esa Exceptions o Errors dks Classes ds :i esa Implement fd;k x;k gSA blfy, ;fn try Block fdlh Hkh rjg dk Exception Trigger djrk gS] rks ml Exception dks og fdlh u fdlh Exception ;k Error Class ds Object ds :i esa gh Throw djrk gSA .NET Framework esa fofHkUu izdkj dh Database Related Errors o Exceptions dks Handle djus ls lEcaf/kr Classes dks fuEukuqlkj rjhds ls Implement fd;k x;k gS%

tSlkfd ge mijksDr fp= }kjk le> ldrs gSa fd .NET Exception Classes dks ewy :i ls pkj Hkkxksa esa ckaVk x;k gS%

Disconnected Stack Exceptions blds vUrxZr ftruh Hkh Classes Defined gSa] os lHkh System.Data.DataEexception uke dh Class ls Inherited gSa tks fd Disconnected Data Cache ls Generate gksus okys lHkh izdkj ds Exceptions dks Handle djus dk dke djrs gSaA

Provider Specific Exceptions mijksDr fp= esa n”kkZ;h xbZ Exception Classes, Disconnected Object }kjk Generate gksus okys Exceptions dks Represent dj jgs gSaA tcfd Connected ;kuh Provider Stack ls lEcaf/kr Classes dks ge fuEu fp=kuqlkj n”kkZ ldrs gSa] tgka lHkh Exception Classes System.Data.Common.DbExceptoin Class ls Inherited gSa%

Page 50: Ado.ne twith csharpinhindi

49

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

SqlType Specific Exception bl Group dh lHkh Exception Classes dks System.Data.SqlTypes.SqlTypeException uke dh Class ls Derive fd;k x;k gS vkSj tSlkfd ge uke ls gh le> ldrs gSa fd bl Group dh lHkh Classes iwjh rjg ls SQL Database }kjk Generate gksus okys Exceptions dks Handle djus dk dke djrs gSaA

Other ADO.NET Exceptions bl Group dh lHkh Classes dks ewyr% System.Exception Class ls gh Derive fd;k x;k gS vkSj ;s Classes ADO.NET ds mu Exceptions dks Handle djus dk dke djrs gSa] ftUgsa mijksDrkuqlkj Specified rhuksa Categories }kjk Handle fd;k tkuk lEHko ugha gksrkA

Summary of ADO.NET Data Model bl Chapter esa geus ADO.NET Data Model ds Objects ds Role dks Detail ls le>us dh dksf”k”k dhA fQj Hkh ADO.NET ds fofHkUu Components dks ,d Summary ds :i eas vxzkuqlkj Specify dj ldrs gSa] ftlls bl Model dks ;kn j[kuk vklku gks ldsA ADO.NET Data Model iwjh rjg ls System.Data Namespace ij vk/kkfjr gSA ge fcuk bl Namespace dks vius Application esa Use fd, gq, dksbZ Hkh Database Application Create ugha dj ldrsA ;gh Namespace fofHkUu izdkj ds Database Objects tSls fd Tables, Rows, Columns Constraints vkfn dks Represent djus ds fy, fofHkUu izdkj ds Types ;kuh Classes, Structures, Enumerations vkfn dks Define djrk gSA bl Namespace esa ewy :i ls fuEu Core Members dks Define fd;k x;k gksrk gS%

Page 51: Ado.ne twith csharpinhindi

50

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Constraint Represents a constraint for a given DataColumn object. DataColumn Represents a single column within a DataTable object. DataRelation Represents a parent/child relationship between two DataTable objects. DataRow Represents a single row within a DataTable object. DataSet Represents an in-memory cache of data consisting of any number of

interrelated DataTable objects. DataTable Represents a tabular block of in-memory data. DataTableReader Allows you to treat a DataTable as a fire-hose cursor (forward only,

readonly data access). DataView Represents a customized view of a DataTable for sorting, filtering,

searching, editing, and navigation. IDataAdapter Defines the core behavior of a data adapter object. IDataParameter Defines the core behavior of a parameter object. IDataReader Defines the core behavior of a data reader object. IDbCommand Defines the core behavior of a command object. IdbDataAdapter Extends IDataAdapter to provide additional functionality of a data

adapter object. IDbTransaction Defines the core behavior of a transaction object. tc ge ADO.NET ds Disconnected Layer dks Use djrs gq, Database Programming djrs gSa] rc ge System.Data Namespace esa Define fd, x, Types dks gh lcls T;knk mi;ksx esa ysrs gSa] ftlds ckjs esa geus vkxs ds Chapters esa dkQh foLrkj ls Discuss fd;k gSA fQj Hkh bl Namespace esa Define dh xbZ fofHkUu Common Functionalities dks eksVs rkSj ij le>uk gekjs fy, vkxs vkus okys Chapters ds Concepts dks le>us esa dkQh enn djsxkA

IDbConnection Interface bl Interface dks gesa”kk Data Provider ds Connection Object esa Implement fd;k tkrk gSA ;s Interface ,sls Members dk ,d lewg Provide djrk gS] ftudk iz;ksx fdlh Specific Data Store ds lkFk Connection dks Configure djus ds fy, fd;k tkrk gSA ;s Interface gh gesa fdlh Specific Data Provider ds Transaction Object dks Obtain djus dh lqfo/kk Hkh iznku djrk gSA bl Interface dk Formal Definition dqN fuEukuqlkj gksrk gS%

public interface IDbConnection : IDisposable {

string ConnectionString { get; set; } int ConnectionTimeout { get; } string Database { get; } ConnectionState State { get; } IDbTransaction BeginTransaction(); IDbTransaction BeginTransaction(IsolationLevel il); void ChangeDatabase(string databaseName);

Page 52: Ado.ne twith csharpinhindi

51

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

void Close(); IDbCommand CreateCommand(); void Open();

}

IDbTransaction Interface bl Interface esa Defined Overloaded BeginTransaction() Method Data Provider ds Transaction Object dks Access djus dh lqfo/kk Provide djrk gSA bl Interface }kjk Defined Members dk iz;ksx djds ge Transactional Session o Underlying Data Source ls Programmatically Interact dj ldrs gSaA bl Interface esa fuEu Members dks Declare fd;k x;k gksrk gS% public interface IDbTransaction : IDisposable {

IDbConnection Connection { get; } IsolationLevel IsolationLevel { get; } void Commit(); void Rollback();

}

IDbCommand Interface bl Interface dks Data Provider ds Command Object esa Implement fd;k tkrk gSA vU; Data Access Object Models dh rjg gh] Command Object gesa Programmatically SQL Statements, Stored Procedures o Parameterized Queries dks Manipulate djus dh lqfo/kk Provide djrk gSA Command Object gesa Data Provider ds Data Reader Type dks Hkh Overloaded ExecuteReader() Method ds ek/;e ls Access djus dh lqfo/kk Provide djrk gS] rkfd ge Underlying Database dks Modified Data Update djus ds fy, Use dj ldsaA

public interface IDbCommand : IDisposable {

string CommandText { get; set; } int CommandTimeout { get; set; } CommandType CommandType { get; set; } IDbConnection Connection { get; set; } IDataParameterCollection Parameters { get; } IDbTransaction Transaction { get; set; } UpdateRowSource UpdatedRowSource { get; set; } void Cancel();

Page 53: Ado.ne twith csharpinhindi

52

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

IDbDataParameter CreateParameter(); int ExecuteNonQuery(); IDataReader ExecuteReader(); IDataReader ExecuteReader(CommandBehavior behavior); object ExecuteScalar(); void Prepare();

}

IDbDataParameter and IDataParameter Interfaces IDbCommand Object dk Parameters Property ,d Strongly Typed Collection Return djrk gS] ftlesa IDataParameterCollection dks Implement fd;k x;k gksrk gSA ;s Interface IDbDataParameter Compliant Class Types tSls fd Parameter Objects, etc… dks Access djus dh lqfo/kk Provide djrk gSA

public interface IDbDataParameter : IDataParameter {

byte Precision { get; set; } byte Scale { get; set; } int Size { get; set; }

} IDbDataParameter Interface, IDataParameter Interface dks Extend djrk gS] rkfd mls fuEukuqlkj vkSj Additional Behaviors izkIr gks ldsa%

public interface IDataParameter {

DbType DbType { get; set; } ParameterDirection Direction { get; set; } bool IsNullable { get; } string ParameterName { get; set; } string SourceColumn { get; set; } DataRowVersion SourceVersion { get; set; } object Value { get; set; }

} IDbDataParameter o IDataParameter Interface dh Functionality gesa SQL Command ;k Stored Procedure esa ,d Specific ADO.NET Parameter Object ds ek/;e ls Hard-Coded String Literals ds LFkku ij Parameters dks Represent djus dh lqfo/kk Provide djrk gSA

Page 54: Ado.ne twith csharpinhindi

53

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

IdbDataAdapter and IDataAdapter Interfaces ge DataSet Object ds Data dks Underlying Database ls Retrieve djus vFkok Underlying Database esa Save djus ds fy, Data Adapters dk iz;ksx djrs gSaA bl t:jr dks iwjk djus ds fy, IdbDataAdapter Interface esa ewy :i ls pkj Properties dks Define fd;k x;k gS] tks fd Value ds :i esa ,d SQL Statement Accept djrs gSa tks fd INSERT, UPDATE, DELETE ;k SELECT Operation ls lEcaf/kr gksrs gSaA

public interface IDbDataAdapter : IDataAdapter {

IDbCommand DeleteCommand { get; set; } IDbCommand InsertCommand { get; set; } IDbCommand SelectCommand { get; set; } IDbCommand UpdateCommand { get; set; }

} bu pkj Properties ds vykok ADO.NET Data Adapter Object IDataAdapter Interface esa Defined Behaviors dks Hkh Contained j[krk gSA ;s Interface Data Adapter ds eq[; Functions dks Define djrk gS] ftlds vUrxZr DataSet Object dks Caller o Underlying Data Source ds chp Fill() o Update() Methods ds ek/;e ls Data Retrieve/Transfer djus dh lqfo/kk izkIr gksrh gSA lkFk gh IDataAdapter Interface, Database Column Names dks User Friendly Names ds :i esa Map djus ds fy, TableMapping Property Hkh Provide djrk gSA

public interface IDataAdapter {

MissingMappingAction MissingMappingAction { get; set; } MissingSchemaAction MissingSchemaAction { get; set; } ITableMappingCollection TableMappings { get; } int Fill(DataSet dataSet); DataTable[] FillSchema(DataSet dataSet, SchemaType schemaType); IDataParameter[] GetFillParameters(); int Update(DataSet dataSet);

}

IDataReader and IDataRecord Interfaces IDataReader Interfaces fofHkUu izdkj ds Data Providers }kjk Supported Common Behaviors dks Data Reader Object ds ek/;e ls Define djus dk dke djrs gSaA tc ge fdlh ADO.NET Data Provider }kjk dksbZ IDataReader Compatible Type Obtain djrs gSa]

Page 55: Ado.ne twith csharpinhindi

54

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

rks bl Retrieved Object ds Resultset dks ge dsoy Forward-Only o Read-Only Manner esa gh Iterate dj ldrs gSaA

public interface IDataReader : IDisposable, IDataRecord {

int Depth { get; } bool IsClosed { get; } int RecordsAffected { get; } void Close(); DataTable GetSchemaTable(); bool NextResult(); bool Read();

} vUr esa IDataReader, IDataRecord dks Extend djrk gS] tks dbZ ,sls Members Define djrk gS] tks gesa fdlh Stream ls Strongly Typed Objects Retrieve djus dh lqfo/kk Provide djrk gSA ifj.kkeLo:i gesa DataReader }kjk Return gksus okys Indexer Method dks System.Object Type ds Generic Object ds :i esa Cast djus dh t:jr ugha jgrhA

public interface IDataRecord {

int FieldCount { get; } object this[ string name ] { get; } object this[ int i ] { get; } bool GetBoolean(int i); byte GetByte(int i); char GetChar(int i); DateTime GetDateTime(int i); decimal GetDecimal(int i); float GetFloat(int i); short GetInt16(int i); int GetInt32(int i); long GetInt64(int i); ... bool IsDBNull(int i);

} pwafd] bl Interface dh Listing cgqr cMh gS] blfy, ;gka geus dsoy Partial Listing gh Display dh gSA ge IDataReader.IsDbNull() Method dk iz;ksx djds Data Reader ls Value Retrieve djus ls igys Programmatically bl ckr dk irk yxk ldrs gSa fd Specify fd;k x;k Field null Value ls Set gS ;k ughaA

Page 56: Ado.ne twith csharpinhindi

55

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Data Provider Abstraction Using Interface tSlkfd bl Chapter ds Discussion ls ge le> ldrs gSa fd lHkh .NET Data Providers esa dqN Common Functionalities Exist gksrh gSaA tgka gkykafd Underlying Data Source vyx rjhds ls dke djrk gS] ysfdu mu Functionalities dks Use djus ds fy, gesa Common Names dks Use djuk gksrk gS vkSj ,slk blhfy, lEHko gks ldrk gS D;ksafd .NET Framework, Interface Based Polymorphism dks Implement djrk gSA mnkgj.k ds fy, tc ge dksbZ ,slk Method Define djrs gSa] tks fd IDbConnection Type dk ,d Parameter Accept djrk gS] rks mlesa Parameter ds :i esa ge ADO.NET ds fdlh Hkh Connection Object dks Pass dj ldrs gSa] fQj Hkys gh og Connection Object, SQL Server ls lEcaf/kr gks ;k Oracle lsA tSls% public static void OpenConnection(IDbConnection cn) {

// Open the incoming connection for the caller. cn.Open();

} t:jh ugha gS fd ge Interface dks gh bl rjg ls Use dj ldrs gSaA cfYd ge fdlh Abstract Base Class tSls fd DbConnection dks Hkh Parameter ;k Return Value ds :i esa mijksDrkuqlkj Use dj ldrs gSaA

Using Application Configuration File ADO.NET Application dh Flexibility Increase djus ds fy, ge Client-Side esa *.config File Create dj ldrs gSa] ftldk iz;ksx Custom Key/Value Pair ds :i esa <appSettings> Element esa Configuration Information dks Setup djus ds fy, fd;k tk ldrk gSA tSls% <configuration>

<appSettings> <!-- This key value maps to one of our enum values. --> <add key="provider" value="System.Data.SqlClient"/> </appSettings>

</configuration> bl Configuration File ds ek/;e ls ge gekjs Application dks csgrj rjhds ls Control dj ldrs gSa] ftlesa geus Data Provider dh Information dks fuEukuqlkj Statement }kjk Specify fd;k gS%

Page 57: Ado.ne twith csharpinhindi

56

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

<add key="provider" value="SqlServer"/> ifj.kkeLo:i ;fn gesa gekjs Database Application ds Underlying Data Source dks Change djuk gks] rks gesa dsoy bl Configuration File dks gh fuEukuqlkj Modify djus dh t:jr iMrh gS% <add key="provider" value="System.Data.OracleClient"/> vkSj gekjk Database Application Oracle Data Source ds fy, mi;ksxh gks tkrk gSA <appSettings> Element ds LFkku ij ;fn ge pkgsa rks <connectionStrings> Element dks Hkh Use dj ldrs gSaA bl Element esa ge ftrus pkgsa mrus Name/Value Pairs dks Define dj ldrs gSa] ftUgsa Programmatically ConfigurationManager.ConnectionStrings Indexer ds ek/;e ls Read fd;k tk ldrk gSA bl Element dks Use djus dk ,d Qk;nk ;s gS fd ge ,d Single Application ds fy, Consistent Manner esa ,d ls T;knk Connection Strings dks Define dj ldrs gSaA tSls%

<configuration> <appSettings> <!-- Which provider? --> <add key="provider" value="System.Data.SqlClient" /> </appSettings> <!-- Here are the connection strings. --> <connectionStrings> <add name ="NorthwindSQLProvider" connectionString = "Data Source=(local)\SQLEXPRESS; Integrated Security=SSPI; Initial Catalog=Customers"/> <add name =" NorthwindOLEProvider" connectionString = "Provider=SQLOLEDB; Data Source=(local)\SQLEXPRESS; Integrated Security=SSPI; Initial Catalog=Customers"/> </connectionStrings> </configuration>

bl rjg ls ge gekjh t:jr o lqfo/kk ds vuqlkj vius gj Application ds fy, ,d Configuration File Create dj ldrs gSa] ftlds ek/;e ls ge gekjs Database Application dks T;knk csgrj rjhds ls Control, Handle o Deploy dj ldrs gSaA

Page 58: Ado.ne twith csharpinhindi

57

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

CONNECTiON

ObjECT

Page 59: Ado.ne twith csharpinhindi

58

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

ADO.NET – Connection Object blls igys fd ge ADO.NET dks vkSj csgrj rjhds ls le>sa] ;s t:jh gS fd gekjs ikl ,d Database gks] ftl ij ge ADO.NET ds fofHkUu Operations dks Perform dj ldsaA bl t:jr dks iwjk djus ds fy, lcls igys gesa gekjs Local Computer ij SQL Server o Visual Studio Install djuk gksrk gS] D;ksafd SQL Server gh fQygky gekjk Backend Database gS tcfd bl Backend dks Access djus ds fy, ge Visual Studio dk iz;ksx dj ldrs gSaA gkykafd SQL Server o Visual Studio nksuksa ds gh cgqr lkjs Versions Available gSaA ysfdu ;gka ge SQL Server Express Version dks mi;ksx esa ysaxs D;ksafd ;s Freely Available gS vkSj blds }kjk Provide dh tkus okyh Functionalities fdlh NksVs o Single User Database Application ds fy, i;kZIr gSa] tcfd ;fn gekjs Application dh t:jr c< tkrh gS] rks ge cMh gh vklkuh ls bl Database dks Standard ;k Enterprise Edition ds SQL Server ij Upgrade dj ldrs gSaA tcfd Visual Studio dk iz;ksx ge blfy, dj jgs gSa] rkfd ge ADO.NET ds ek/;e ls Database Related Practical Example Programs vklkuh ls Crate dj ldsa o ADO.NET dh Working dks T;knk csgrj rjhds ls le> ldsaA gkykafd SQL Server ds iqjkus Versions esa Northwind o Pubs uke dk ,d Example Database Preinstalled gksrk Fkk] ysfdu SQL Server ds Latest Versions esa ;s Demo Databases Preinstalled ugha gksrsA blfy, lcls igys gesa gekjs SQL Server esa bUgha Databases dks Install djuk gksxk vkSj bUgsa Install djus ds fy, vki bl iqLrd ds lkFk Provided SQL Script Files dks mi;ksx esa ys ldrs gSaA ;fn vkids Computer ij SQL Server 2012 Express Version Installed ugha gS] rks vki bls Microsoft dh Website ls Free Download dj ldrs gSa vkSj vius Computer ij Installed Operating System ds 32Bit ;k 64Bit Version ds vk/kkj ij x86 ;k x64 Version dks Install dj ldrs gSaA bl ckr dk irk yxkus ds fy, fd SQL Server Express Edition vkids Local Computer ij Normal rjhds ls Install gksus ds lkFk gh Running fLFkfr esa gS ;k ugha] ge Start Button ij Click djds All Programs Section esa “SQL Server Configuration Manager” Option dks Click dj ldrs gSaA ;fn ;s Option vkids Computer esa Exist gS] rks ;s blh ckr dk Indication gS fd SQL Server Database Software vkids Local Computer ij Install gks pqdk gSA bl Option dks Click djus ij gekjs lkeus fuEukuqlkj Dialog Box Display gksrk gS] ftlds ek/;e ls ge gekjs SQL Server Database dks Start, Stop o vU; t:jrksa ds vuqlkj Configure dj ldrs gSa vkSj SQL Server dh Current Stat ds ckjs esa tku ldrs gSa%

Page 60: Ado.ne twith csharpinhindi

59

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

tSlkfd mijksDr fp= }kjk ge le> ldrs gSa fd gekjs Local Computer ij Installed SQL Server 2012 Express Edition Running fLFkfr esa gS vkSj ge gekjs Client Program ;kuh Frontend Program esa bls mi;ksx esa ys ldrs gSaA gkykafd lkekU;r% gesa ;gka fdlh rjg dh dksbZ Setting djus dh t:jr ugha gksrh] ysfdu ;fn ge pkgsa rks vius Local SQL Server dks LAN ij TCP ds ek/;e ls Share dj ldrs gSaA ;kuh ;fn gekjk SQL Server DBMS Software fdlh Powerful Server Computer ij Installed gS vkSj ge fdlh vU; Client Computer ls bl Database dks Remotely Access djuk pkgrs gSa] rks gesa fuEu fp=kuqlkj TCP/IP Protocol dks Enable djuk gksrk gS] tks fd Default :i ls Security Reasons ds dkj.k Disabled jgrk gS%

Locally Installed SQL Server Remotely dks Remotely Accessible cukus ds fy, gesa Left Pan esa fn[kkbZ nsus okys “SQL Server Network Configuration (32bit)” dks Click djuk gksrk gS] ftlds ifj.kkeLo:i Right Side ds Pan esa rhu Options fn[kkbZ nsrs gSA ;gka “TCP/IP” Option ij Right Click djus ij Display gksus okys Popup Menu ls gesa Enable Option dks Click djuk gksrk gSA bl Change dk Effect rc rd Reflect ugha gksrk] tc rd fd ge gekjs SQL Server dks Restart ugha djrsA blfy, gesa fQj ls Left Pan ds “SQL Server Services” Option dks Click djuk gksrk gS vkSj fuEu fp=kuqlkj Right Side esa fn[kkbZ nsus okys “SQL Server (SQLSERVEREXPRESS)” Option ij Right Click djds Display gksus okys Popup Menu ls “Restart” Option dks Click djuk gksrk gS%

Page 61: Ado.ne twith csharpinhindi

60

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

tc ,d ckj gekjk Local SQL Server Install o Running gks tkrk gS] mlds ckn gesa Visual Studio Open djuk gksrk gSA gkykafd ;fn ge pkgsa rks Microsoft }kjk Freely Provided “SQL Server Management Studio” (SSMS) uke ds Tool dks mi;ksx esa ysdj Hkh vius SQL Server Database esa Database Related fofHkUu izdkj ds dke dj ldrs gSa] ysfdu fQj Hkh ;gka ge Visual Studio }kjk Provided Database Management Tools dks gh mi;ksx esa ys jgs gSaA ge ;gka ij Visual Studio ds Ultimate Version dks Use dj jgs gSaA ;fn vki pkgsa rks vki Hkh Microsoft dh Website ls Visual Studio ds bl Version ds Trial dks Download dj ldrs gSa] ftls vf/kdre 3 eghus rd bldh Full Functionality ds lkFk mi;ksx esa fy;k tk ldrk gSA gkykafd ;fn vki pkgsa rks Visual Studio ds Freely Available Express Edition dks Hkh mi;ksx esa ys ldrs gSa] ysfdu bl Edition esa lkjs Professional Features Available ugha gksrsA tc ge igyh ckj Visual Studio Open djrs gSa] rc ;s gesa dqN fuEukuqlkj fn[kkbZ nsrk gS] tgka gesa blds Left-Side esa fn[kkbZ nsus okys “Server Explorer” Tab dks gh mi;ksx esa ysrs gq, vius SQL Server dks Visual Studio ds lkFk mi;ksx esa ysus ds fy, Setup djuk gksrk gS%

Page 62: Ado.ne twith csharpinhindi

61

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

pwafd ge gekjs Local Computer ij Installed SQL Server esa Northwind o Pubs uke ds Databases dks SQL Script ds ek/;e ls Install djuk pkgrs gSa] D;ksafd gekjs vkxs vkus okys lHkh Examples dks vPNh rjg ls le>us ds fy, gesa ,d Predefined SQL Server Database dh t:jr gS vkSj SQL Server ds Latest Versions esa ;s nksuksa Databases Preinstalled ugha gksrs] blfy, bl t:jr dks iwjk djus ds fy, gesa lcls igys fuEu fp=kuqlkj viuh Database Create djus okyh SQL File dks Open djuk gksrk gS%

tSls gh ge bl Option dks Click djrs gSa gekjs lkeus fuEukuqlkj ,d Dialog Box Open gksrk gS] tgka gesa fuEu fp=kuqlkj viuh Pubs uke ds Database Crate djus okyh SQL File dks Select djds “Open” Button ij Click djuk gksrk gS%

tSls gh ge “Open” Button ij Click djrs gSa] gekjh SQL File, Visual Studio esa fuEukuqlkj Open gks tkrh gS] ftls Execute djus ds fy, gesa blh File esa Mouse ls Right Click djuk gksrk gS vkSj Display gksus okys Popup Menu ls fuEu fp= esa n”kkZ, vuqlkj “Execute” Option dks Click djuk gksrk gS%

Page 63: Ado.ne twith csharpinhindi

62

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

tSls gh ;s File Execute gksrh gS] fuEu fp=kuqlkj ,d Dialog Box Display gksrk gS] ftlesa gesa gekjs ml Computer dh Information Specify djuh gksrh gS] ftl ij gekjk Local SQL Server Installed gS%

;fn gekjk Local SQL Server Current Computer ij gh Installed gks] rks bl Dialog Box esa lHkh t:jh eku Automatically Filled gh jgrs gSaA ;kuh gesa ;gka ij dqN Hkh Specify djus dh t:jr ugha gksrh] cfYd gesa lh/ks gh “Connect” Button ij Click djuk gksrk gSA tSls gh ge “Connect” Button ij Click djrs gSa] fuEu fp= esa fn[kk, x, Red Color Box ds vuqlkj gekjk Current SQL Script Execute gksrk gS vkSj gekjs Local SQL Server esa pubs uke dk ,d u;k Database Create djrk gS%

Page 64: Ado.ne twith csharpinhindi

63

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Visual Studio esa Currently Loaded SQL Script ds ek/;e ls Create gksus okys pubs uke ds Newly Created Database dks ge fuEu fp=kuqlkj ns[k ldrs gSa] tgka “master”, “model”, “msdb” o “tempdb” uke ds pkj Database, gekjs SQL Server ds Default Databases gSa] tcfd “pubs” og Database gS] tks Visual Studio esa Currently Loaded SQL Script ds ek/;e ls Create gqvk gSA

ftl rjg ls geus “pubs” uke ds Database dks SQL Script ds ek/;e ls Create fd;k gS] mlh rjg ls ge Northwind uke ds Database dks Hkh Local SQL Server esa Install dj ldrs gSaA Local SQL Server esa Database Create djus ds ckn vc Visual Studio esa bl Database dks Access djus dh lqfo/kk izkIr djus ds fy, vc gesa ,d u;k Connection Create djuk gksrk gS] tks fd Backend Database dks Visual Studio ls Connect djrs gq, Accessible cukrk gSA Backend Database dks Visual Studio ls Connect djrs gq, Accessible cukus ds fy, gesa Visual Studio ds “Server Explorer” Tab ij fn[kkbZ nsus okys “Data Connections” uke ds Option ij Right Click djuk gksrk gSA tSls gh ge bl Option ij Right Click djrs gSa] gesa fuEu fp=kuqlkj ,d Popup Menu fn[kkbZ nsrk gS%

Page 65: Ado.ne twith csharpinhindi

64

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

gkykafd ;fn ge pkgsa rks “Create New SQL Server Database…” uke ds Option dks Select djds blh Visual Studio ds ek/;e ls u;k Database Hkh Create dj ldrs gSaA ysfdu pwafd ge gekjs Newly Installed “pubs” uke ds Database dks gh Access djuk pkgrs gSa] blfy, gesa mijksDr fp= esa fn[kk, vuqlkj “Add Connection…” dks Click djuk gksrk gSA tSls gh ge bl Option dks Click djrs gSa] gekjs lkeus fuEukuqlkj “Add Connection” uke dk Dialog Box Display gksrk gS%

bl Dialog Box ds “Data Source:” Section esa fn[kkbZ nsus okys “Change…” uke ds Button dks Click djds ge ml DBMS Software dks Select dj ldrs gSa] ftlesa gekjk Database Installed gSA pwafd gekjk Database SQL Server esa Installed gS] blfy, bl Button dks Click djus ij fn[kkbZ nsus okys Dialog Box esa gesa fuEukuqlkj “Microsoft SQL Server” Option Select djds OK Button ij Click djuk gksrk gS%

Page 66: Ado.ne twith csharpinhindi

65

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

OK Button ij Click djrs gh gekjk “Add Connection” uke dk Dialog Box dqN fuEukuqlkj Change gks tkrk gS%

tgka “Server name:” Section esa fn[kkbZ nsus okys Down Arrow dks Click djus ij gekjs Current Computer ij Installed rFkk Current Computer }kjk Accessible lHkh SQL Servers dk uke fn[kkbZ nsus yxrk gSA ;gka ge ftl SQL Server ls Connect gksuk pkgrs gSa] mls Select djrs gSaA

Page 67: Ado.ne twith csharpinhindi

66

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

pwafd gekjk SQL Server Current Computer ij gh Installed gS] ftldk uke “KULDEEP” gS vkSj bl Computer dks fdlh Intranet ls Connect ugha j[kk x;k gS] blfy, ;gka dsoy ,d gh SQL Server Name fn[kkbZ ns jgk gSA bl Server Name dks Select djrs gh ;s Dialog Box dqN fuEukuqlkj Modify gks tkrk gS%

tgka gesa “Connect to a database” Section esa fn[kkbZ nsus okys “Select or enter a database name:“ uke ds Combobox ls “pubs” uke ds Database dks Select djuk gksrk gS] tks fd ogh Database gS] ftls geus fiNys Section esa Install fd;k gSA bl Database dks Select djus ds ckn bl ckr dks Check djus ds fy, fd gekjk Visual Studio gekjs Local SQL Server Database ls Bhd ls Connect gqvk ;k ugha] gesa “Test Connection” Button ij Click djuk gksrk gSA ;fn Connection Normal rjhds ls Establish gks tkrk gS] rks gesa fuEukuqlkj “Connection Successful” dk Connection Dialog Box fn[kkbZ nsrk gS%

Page 68: Ado.ne twith csharpinhindi

67

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Connection Successful gksus dh fLFkfr esa gesa bl “Add Connection” Dialog Box ij fn[kkbZ nsus okys OK Button dks Click djuk gksrk gSA tSls gh ge OK Button ij Click djrs gSa] gekjs SQL Server DBMS Software esa Installed “pubs” uke ds Database dk Connection gekjs Visual Studio ls gks tkrk gS] tks gesa Visual Studio esa fuEu fp=kuqlkj fn[kkbZ nsrk gS%

pwafd tc ge Database Application Develop djrs gSa] rc vius Local Computer ij Installed SQL Server ls Connection LFkkfir djus ds fy, “Add Connection” Dialog Box ds “Server name:” Section esa “KULDEEP\SQLSERVEREXPRESS” uke dks Specify djrs gSa] tgka “KULDEEP” ml Current Computer dk uke gS] ftl ij SQL Server Installed gSA tcfd ;fn ;gh SQL Server fdlh Remote Computer ij Installed gksrk] rks “KULDEEP” ds LFkku ij dksbZ vkSj uke gksrkA lkFk gh SQLSERVEREXPRESS ml SQL Server ds Instance dk uke gS] tks fd Local Computer ij Installed gS] tks fd fdlh vU; Remote Computer ij fdlh vU; uke ls Hkh Installed gks ldrk FkkA blfy, tc ge viuk Database Application Develop djds vius Client ds Computer ij mls Install djrs gSa] rc gesa ml Client ds Computer esa Local SQL Server Install djuk iMrk gS] tgka gkykafd ge SQL Server ds Instance dk uke ogh j[k ldrs gSa] tks Development ds

Page 69: Ado.ne twith csharpinhindi

68

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

nkSjku gekjs Computer ij Fkk] ysfdu mlds Local Computer dk uke Change djuk FkksMk Technical dke gks tkrk gSA blfy, Current Computer dks Represent djus ds fy, ge ,d Single Dot ( . ) dk Hkh iz;ksx dj ldrs gSaA ;kuh ge gekjs Development ds nkSjku Local Computer dks Represent djus ds fy, fuEu fp=kuqlkj Hkh Server Name Specify dj ldrs gSa%

tc ge bl izdkj ls ,d Single Dot }kjk Current Computer ij Installed SQL Server dks Refer djrs gSa] rks tc ge gekjs Developed Application Software dks Client ds Computer ij Install djrs gSa] rc mlds Computer ij Installed Local SQL Server dks Refer djus ds fy, gesa gekjs Application Software esa dgha ij fdlh Hkh rjg dk Path Setting ;k Configuration djus dh t:jr ugha gksrhA gkykafd ml fLFkfr esa Hkh gesa bl ckr dk /;ku j[kuk t:jh gksrk gS fd Client ds Computer ij Installed SQL Server Instance dk uke ogh gks] tks gekjs Local Computer ij Database Application Development ds nkSjku FkkA mijksDrkuqlkj SQL Server Database Software Setup djds mlesa pubs o northwind uke ds Demo Database dks SQL Script ds ek/;e ls Install djus ds ckn mldk Connection

Page 70: Ado.ne twith csharpinhindi

69

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Visual Studio ls djds vc ge bl fLFkfr esa gSa fd ADO.NET ds vU; Concepts dks fofHkUu izdkj ds Practical Examples }kjk T;knk csgrj rjhds ls le> ldsa] ftUgsa fiNys Chapters esa Theatrically le>k gSA

Working with ADO.NET Connection dksbZ Hkh Database Application ,slk ugha gks ldrk] ftlds Data dks Store djus ds fy, fdlh Hkh izdkj dk Data Source Exist u gksA ;fn ge Computer dks ,d Information Processing o Storage Machine ekusa] rks Data Storage ds fy, gesa”kk fdlh u fdlh Data Source dh t:jr gksrh gSA Data Source ds :i esa Microsoft Access tSlk ljy DBMS Software Hkh gks ldrk gS vkSj MSSQL Server ;k Oracle tSlk Complete Enterprise Solution Hkh gks ldrk gSA tc ge .NET Platform Based Database Application dh ckr djrs gSa] rc Backend Database ds :i esa pkgs tks Hkh DBMS Software gks] mls Frontend ls Connect djus ds fy, gesa”kk ADO.NET Architecture dk iz;ksx fd;k tkrk gSA ADO.NET gesa ;s lqfo/kk nsrk gS fd ge Suitable Connection Object dk iz;ksx djds fdlh Hkh izdkj ds Data Source ds lkFk Frontend dks Connect dj ldrs gSaA pwafd MSSQL Server Hkh .NET Framework dh rjg gh Microsoft dk gh Product gS] blfy, MSSQL Server fdlh Hkh .NET Based Database Application ds fy, lcls T;knk Suitable Data Source gksrk gS vkSj SQL Server ls Connection LFkkfir djus ds fy, ADO.NET gesa SqlConnection uke dk Class Provide djokrk gS] ftlds ek/;e ls ge .NET Frontend dks SQL Server ds lkFk Connect djrs gSaA ge pkgs tks Hkh Data Source Use djsa] mu lHkh Data Sources ls Connection Implement djus ds fy, gesa dqN Common Characteristics dks mi;ksx esa ysuk gksrk gSA pwafd fofHkUu izdkj ds Data Sources ls Connection LFkkfir djus ds fy, gesa ADO.NET ds Connection Object esa fofHkUu izdkj ds Server Name, User ID, Password vkfn Information dks Specify djuk gksrk gS tks fd vyx&vyx Data Sources ds fy, vyx&vyx gks ldrs gSaA blfy, ADO.NET gesa ,d ,slk Common o Flexible Mechanism Provide djrk gS] ftlds vUrxZr ge bu lHkh t:jh o Common Information dks Key-Value Pair ds :i esa Specify djrs gSaA tSls% "parametername1=parametervalue1;parametername2=parametervalue2;..." ftl rjg ls ge Data Source ij Connection Open djus ds fy, fofHkUu izdkj ds t:jh Basic Configurations dks Specify djrs gSa] mlh rjg ls gesa fdlh Opened Connection dks Close Hkh djuk gksrk gSA

Page 71: Ado.ne twith csharpinhindi

70

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

lkFk gh fdlh Data Source ij fdlh Specific Operation dks Perform djus ds ckn vFkok Operation Perform djus ds nkSjku gesa bl ckr dh Hkh tkudkjh dh t:jr gksrh gS fd Open fd, x, Connection dh Currently D;k fLFkfr gSA blfy, ADO.NET }kjk fdlh Data Source ds lkFk Frontend ds ek/;e ls izfØ;k djrs le; gesa Open() o Close() uke ds nks Methods rFkk State uke dh ,d Property Provide fd;k tkrk gS] ftuds ek/;e ls ge Data Source ls Data Interaction djus ds fy, t:jh Controls izkIr dj ikrs gSaA pfy,] bl izfØ;k dks ge vklkuh ls le>us ds fy, dqN mnkgj.k o Code Segments ns[krs gSaA

Creating Connection Objects tSlkfd ge tkurs gSa fd ADO.NET gesa Connection uke dh ,d Class Provide djrk gS] ftldk iz;ksx djds ge fdlh Specific Data Source ds lkFk Connection Establish djus dh {kerk izkIr djrs gSaA bls le>us ds fy, ge ,d mnkgj.k ns[k ldrs gSaA ekuyks fd ge gekjs Local Computer ij Installed SQL Server ds lkFk vius Client Program dk Connection Establish djuk pkgrs gSaA bl t:jr dks iwjk djus ds fy, ge gekjs Program esa ADO.NET ds SqlConnection Class dks fuEukuqlkj rjhds ls Use dj ldrs gSa%

SqlConnection testConnection = new SqlConnection(); SqlConnection Object Create djus ds ckn ges bl Object dh ConnectionString Property dks Use djuk gksrk gS tks fd ,d String Property gksrk gS vkSj bl Property esa gesa gekjs ml SQL Server Data Source ls lEcaf/kr Server, User ID o Password tSls Credentials dks Specify djuk gksrk gS] ftlls ge gekjs Client Program dks Connect djuk pkgrs gSaA bl t:jr dks fuEukuqlkj rjhds ls iwjk fd;k tk ldrk gS% string testConnectionString = "Data Source=.\SQLSERVEREXPRESS; Initial Catalog=pubs; Integrated Security=True" tgka Data Source ds :i esa gesa gekjs SQL Server Database ds Server o Instance ds uke dks Specify djuk gksrk gSA ;s ogh uke gksrk gS] ftls geus fiNys Section esa “Add Connection” Dialog Box ij izkIr fd;k FkkA ;fn ge pkgsa rks Local SQL Server dks Represent djus ds fy, .\SQLSERVEREXPRESS ds LFkku ij (local)\SQLSERVEREXPRESS Hkh fy[k ldrs gSa tks fd Local Computer ij Installed SQL Server dks gh Represent djrk gSA tcfd Initial Catalog ds :i esa gesa gekjs

Page 72: Ado.ne twith csharpinhindi

71

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

ml Database dks Specify djuk gksrk gS] ftlls ge gekjs Newly Created testConnection Object dks Connect djuk pkgrs gSaA pwafd ge gekjs Client Program dks SQL Server esa fiNys Section esa Discussed rjhds ls Installed pubs uke ds Database dks Access djuk pkgrs gSa] blfy, bl Initial Catalog Parameter ds :i esa pubs eku Specify fd;k gSA mijksDr Connection String dks Manually fy[kus ds LFkku ij csgrj ;gh gksrk gS fd ge fiNys Section esa Visual Studio ds vUrxZr Exist Server Explorer Tab ds :i esa Specified “Add Connection” Dialog Box dk gh iz;ksx djsa vkSj Connection ds Successful gksus dh fLFkfr esa tks Connection String Create gksrk gS] mlh Connection String dks mi;ksx esa ysa] tks fd Create fd, x, Connection dks Select djus ij Visual Studio ds IDE esa Properties Tab ds vUrxZr fuEu fp=kuqlkj fn[kkbZ nsrk gS%

bl Connection String dks Use djus dk Qk;nk ;s gS fd ge bl ckr ds fy, vk”oLr gks ldrs gSa fd gekjk Connection String iwjh rjg ls Working o lgh gSA tc ,d ckj gekjh Connection String Create gks tkrh gS] mlds ckn gesa bl Connection String dks Create fd, x, Connection Object dh ConnectionString Property esa Assign djuk gksrk gS vkSj bl dke dks fuEukuqlkj iwjk fd;k tkrk gS% testConnection = testConnectionString; bl izdkj ls vc ;fn ge gekjs Frontend Program dks Backend SQL Server Database ls Connect djus lkjs Statements dks ,d lkFk Specify djsa] rks gekjk Code dqN fuEukuqlkj gksxk%

SqlConnection testConnection = new SqlConnection(); string testConnectionString = "Data Source=.\SQLSERVEREXPRESS;

Page 73: Ado.ne twith csharpinhindi

72

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Initial Catalog=pubs; Integrated Security=True" testConnection = testConnectionString; Frontend Program dk Backend Data Source ls Connection Establish djus dk ,d vkSj vklku o de Coding okyk rjhdk ;s gS fd ge Connection Object Create djrs le; gh mlds Constructor esa Parameter dh rjg ConnectionString dks Specify dj ldrs gSaA tSls%

SqlConnection testConnection = new SqlConnection( "Data Source=.\SQLSERVEREXPRESS; Initial Catalog=pubs; Integrated Security=True"); tc ge bl izdkj ls Connection Object Create djrs gSa] rks Create gksus okys Connection Object ds lkFk Directly Open() Method dks Call djds Frontend Program dk Backend Database ij Connection Open fd;k tk ldrk gSA ;gka ,d ckr fo”ks’k :i ls /;ku j[kus okyh ;s gS fd ge mijksDrkuqlkj Code }kjk tks Connection Open djrs gSa] og Connection ,d izdkj dk Logical Connection gh gksrk gS Physical ughaA blfy, tc ge mijksDrkuqlkj rjhds ls Connection Object Create djds mlds lkFk Open() Method dk iz;ksx djrs gq, Backend Database ds lkFk Connection Open djrs gSa] rks ;s Connection Object ;k rks igys ls Open fd, x, fdlh Physical Connection ds Connection Pooling dk iz;ksx dj ysrk gS tks fd yxHkx lHkh Data Providers ds fy, ON jgrk gS vFkok Connection Pooling ds :i esa igys ls dksbZ Connection Available u gks] rks SQL Server }kjk ,d Brand New Connection Open fd;k tkrk gSA fiNys Code }kjk geus tks Connection Open fd;k gS] mlh Connection dk iz;ksx djrs gq, ge fuEukuqlkj rjhds ls ,d Console Mode Example Program Create dj ldrs gSa] tks fd Local SQL Server ij Exist gekjs “pubs” uke ds Database ls fofHkUu Authors dh Information dks Access and Manipulate djus esa l{ke gksrk gSA Console Mode Application Create djus ds fy, ge Visual Studio IDE esa “FILE => New => Project…” Option dks Click djrs gSa] ftlls gekjs lkeus fuEukuqlkj ,d “New Project” Dialog Box Display gksrk gSA bl Dialog Box esa ge Left Side esa Specified “Visual C#” Template dks Select djrs gSa vkSj fn[kkbZ nsus okys fofHkUu Project Types esa ls fuEu fp= esa n”kkZ, vuqlkj “Console Application” dks Select djrs gS rFkk Newly Create gksus okys Console Application dk Name, Location, Solution o Solution name Specify djus ds ckn OK Button ij Click djrs gSa%

Page 74: Ado.ne twith csharpinhindi

73

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

OK Button ij Click djrs gh gekjs lkeus ,d u;k Program File Display gksrk gS] ftlesa gesa gekjs Backend Database ls Connection Establish djus ls lEcaf/kr Codes fy[kus gksrs gSaA pwafd gekjk Console Mode Application ,d Frontend .NET C# Program gS vkSj .NET Program esa ADO.NET ds ek/;e ls Backend Database dks Frontend ls Connect fd;k tkrk gS] blfy, Current Program esa ADO.NET dh Functionalities izkIr djus ds fy, gesa lcls igys vius Program esa System.Data.SqlClient Namespace dks using Keyword ds lkFk Specify djuk gksrk gSA bruk gh ugha Database Related fofHkUu Data Providers }kjk Provide dh tkus okyh Common Functionalities dks ADO.NET ds System.Data Namespace esa Specify fd;k x;k gksrk gS] blfy, Current Program dks Normal rjhds ls Run djus ds fy, t:jh gS fd gekjs Current Program esa bl Namespace dks Hkh using Keyword ds lkFk Specify fd;k tk,A System.Data o System.Data.SqlClient Namespace dks Current Program esa Specify djus ds ckn Create gksus okys Program esa ge gekjs Connection Establishing Codes dks fuEukuqlkj fy[k ldrs gSa% using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data;

Page 75: Ado.ne twith csharpinhindi

74

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

using System.Data.SqlClient; namespace DBApplication { class Program { static void Main(string[] args) { SqlConnection testConnection = new SqlConnection( "Data Source=(local)\\SQLSERVEREXPRESS; Initial Catalog=pubs; Integrated Security=True"); try { testConnection.Open(); if(testConnection.State == ConnectionState.Open) { Console.WriteLine("Connection opened successfully on SQL Server Data Source."); } } catch(Exception) { Console.WriteLine("Connection Failed on SQL Server Data Source."); } finally { // Closing a connection ensures connection pooling. if (testConnection.State == ConnectionState.Open) { testConnection.Close(); } testConnection.Dispose(); } } } } tSlkfd bl Program esa ge ns[k ldrs gSa fd lcls igys geus Main() Method esa fuEukuqlkj rjhds ls ,d SqlConnection Object Create fd;k gS ftlesa Connection String dks Parameter dh rjg Pass fd;k gS% SqlConnection testConnection = new SqlConnection( "Data Source=(local)\\SQLSERVEREXPRESS; Initial Catalog=pubs;

Page 76: Ado.ne twith csharpinhindi

75

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Integrated Security=True"); bl Statement esa Connection String esa geus Data Source Parameter esa Double Slash dk iz;ksx blfy, fd;k gS] D;ksafd C# esa Slash ,d Character Constant Specify djus okyk Special Character gksrk gSA blfy, ;fn ge Single Slash Specify djrs gSa] rks C# Program Error Generate djrk gSA tcfd ;fn ge blh Connection String dks VB.NET esa Specify djrs] rks gesa Single Slash dk gh iz;ksx djuk gksrkA tSls% Dim testConnection As SqlConnection = New ( "Data Source=(local)\SQLSERVEREXPRESS; Initial Catalog=pubs; Integrated Security=True"); Connection Object Create djus ds ckn geus Create gksus okys Connection Object dks fuEukuqlkj try Block esa Open fd;k gS] D;ksafd ;fn fdlh dkj.ko”k Connection Normal rjhds ls Open ugha gksrk] rks ;s Method ,d Exception Generate djrk gS% try { testConnection.Open(); if(testConnection.State == ConnectionState.Open) { Console.WriteLine("Connection opened successfully on SQL Server Data Source."); } } tc ge Connection Open djrs gSa rks Connection ds Normal rjhds ls Open gksus dh fLFkfr esa Connection Object dh State Property esa ConnectionState.Open eku Store gksrk gSA blfy, ,d if Statement esa blh ckr dks Check fd;k x;k gS fd D;k Connection Normal rjhds ls Open gqvk gS ;k ughaA ;fn Connection Normal rjhds ls Open gksrk gS] rks if Statement Execute gksrk gS vkSj Output esa gesa Connection ds Successful gksus dk Message izkIr gksrk gSA ysfdu ;fn fdlh dkj.ko”k Connection Normal rjhds ls Open u gqvk gks] rks ;s if Statement Fail gks tkrk gSA ifj.kkeLo:i ,d Exception Throw gksrk gS] ftls fuEukuqlkj catch Code }kjk Catch fd;k tkrk gS% catch(Exception) { Console.WriteLine("Connection Failed on SQL Server Data Source."); }

Page 77: Ado.ne twith csharpinhindi

76

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

ifj.kkeLo:i gesa Output eas Connection Fail gksus dk Message izkIr gksrk gSA tcfd Connection pkgs Normal rjhds ls Open gqvk gks pkgs fdlh dkj.ko”k Fail gks x;k gks] nksuksa gh fLFkfr;ksa esa fuEukuqlkj finally Block Execute gksrk gS% finally { // Closing a connection ensures connection pooling. if (testConnection.State == ConnectionState.Open) { testConnection.Close(); } testConnection.Dispose(); } } tgka ,d if Statement }kjk bl ckr dks Check fd;k tkrk gS fd Connection Open gS ;k ughaA ;fn Connection Open gks] rks Connection Object ds fy, Close() Method dks Invoke djds Connection dks Close fd;k tkrk gS vkSj vUr esa Connection }kjk Occupied Resources dks Free djus ds fy, Connection Object ds fy, Dispose() Method dks Invoke fd;k tkrk gSA tcfd Connection Open u gksus dh fLFkfr esa lh/ks gh Dispose() Method dk iz;ksx djds Connection Object }kjk Occupied Resources dks Free dj fn;k tkrk gSA bl izdkj ls C# esa fdlh Backend Database ds lkFk Connection Establish djus ds fy, gesa gesa”kk mijksDrkuqlkj try … catch Block dks Use djuk gksrk gS] tks fd Database Application esa Backend Database ds lkFk dke djus dk lcls O;ofLFkr o mi;qDr rjhdk gSA

DbConnectionStringBuilder tSlkfd ge mijksDr Connection String Code }kjk le> ldrs gSa fd Backend Database ds lkFk Connection LFkkfir djus ds fy, gesa fofHkUu izdkj ds t:jh Credentials dks Key-Value Pair ds :i esa Specify djuk gksrk gSA gekjs bl mnkgj.k esa geus dsoy Data Source, Initial Catalog o Integrated Security uke ds rhu Parameters dks gh Specify fd;k gSA tcfd Oracle ;k SQL Server tSls Enterprise Level ds Data Sources dks mi;ksx esa ysrs le; gesa Connection String esa vkSj Hkh dbZ Parameters dks Specify djus dh t:jr iM ldrh gSA bl fLFkfr esa ,dne Valid Connection String Specify djuk dkQh tfVy dke gks tkrk gSA bl Complexity ls cpus ds fy, ADO.NET gesa ,d cgqr gh Generic Features Provide djrk gSA

Page 78: Ado.ne twith csharpinhindi

77

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

ADO.NET gesa DbConnectionStringBuilder uke dh ,d Class Provide djrk gSA blds Object esa ge Connection String Related fofHkUu Parameters T;knk csgrj rjhds ls Specify dj ldrs gSaA gj .NET Data Provider ,d Class Provide djrk gS tks fd DbConnectionStringBuilder Class ls Derive gksrk gS vkSj ge bl Class ds Object dk iz;ksx djds ml Particular Data Source ls lEcaf/kr Connection String Parameters dks csgrj rjhds ls Specify dj ldrs gSaA mnkgj.k ds fy, OracleClient gesa OracleConnectionStringBuilder uke dh Class Provide djrk gS tcfd SqlClient gesa SqlConnectionStringBuilder uke dh Class Provide djrk gS] ftudk iz;ksx djds ge Øe”k% Oracle ;k SQL Related fofHkUu Connection String Parameters dks Specify dj ldrs gSaA pwafd SqlConnectionStringBuilder Class, SQL Server Database ls lEcaf/kr Connection Strings ds fofHkUu Parameters dks Handle djus dk dke djrk gS] blfy, ;fn ge bl Class dk Object Use djrs gSa] rks gesa Connection String esa Specify fd, tkus okys fofHkUu Parameters dks Manually Set djus dh t:jr ugha gksrh] tSlkfd geus fiNys Program esa fd;k gSA cfYd ge Visual Studio IDE ds Intellisense Feature dk iz;ksx djrs gq, Connection String ds fofHkUu Parameters dks fuEukuqlkj rjhds ls Specify dj ldrs gSa] tgka gesa Data Provider ds fdlh Parameter dks ;kn j[kus dh t:jr ugha gksrh] cfYd lHkh Parameters, Visual Studio esa fuEu fp=kuqlkj Automatically Display gksrs jgrs gSa%

ifj.kkeLo:i ge gekjs Database ls lEcaf/kr fofHkUu Parameters dks fuEukuqlkj rjhds ls String Builder Object esa Specify dj ldrs gSa% SqlConnectionStringBuilder sqlConBuilder = new SqlConnectionStringBuilder(); sqlConBuilder.DataSource = ".\\SQLSERVEREXPRESS"; sqlConBuilder.InitialCatalog = "pubs"; sqlConBuilder.IntegratedSecurity = true; tc ge Connection String ds fofHkUu Parameters dks bl izdkj ls DbConnectionStringBuilder Class ds Object ds ek/;e ls Set djrs gSa] rc u;k

Page 79: Ado.ne twith csharpinhindi

78

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Connection Object Create djrs le; gesa Connection Constructor esa Parameter ds :i esa bl String Builder Object dks Pass djuk gksrk gSA ysfdu D;ksafd Connection Constructor Argument ds :i esa ,d String Parameter gh Accept djrk gS] blfy, bl String Builder Object dks Connection Constructor esa Pass djrs le; gesa bls fuEukuqlkj rjhds ls ToString() Method ds lkFk Specify djrs gq, Specify djuk gksrk gS% SqlConnection testConnection = new SqlConnection(sqlConBuilder.ToString()); bl rjg ls ;fn ge gekjs fiNys Program dks gh mijksDrkuqlkj String Builder Class dk iz;ksx djrs gq, Modify djsa] rks gekjk Program dqN fuEukuqlkj gksxk%

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data; using System.Data.SqlClient; namespace DBApplication { class Program { static void Main(string[] args) { SqlConnectionStringBuilder sqlConBuilder = new SqlConnectionStringBuilder(); sqlConBuilder.DataSource = ".\\SQLSERVEREXPRESS"; sqlConBuilder.InitialCatalog = "pubs"; sqlConBuilder.IntegratedSecurity = true; SqlConnection testConnection = new SqlConnection(sqlConBuilder.ToString()); try { testConnection.Open(); if(testConnection.State == ConnectionState.Open) { Console.WriteLine("Connection opened successfully on SQL Server Data Source."); } } catch(Exception) {

Page 80: Ado.ne twith csharpinhindi

79

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Console.WriteLine("Connection Failed on SQL Server Data Source."); } finally { // Closing a connection ensures connection pooling. if (testConnection.State == ConnectionState.Open) { testConnection.Close(); } testConnection.Dispose(); } } } } vc tc ge bl Program dks Run djrs gSa] rks gesa fiNys Program ds vuqlkj gh fuEukuqlkj Output nsrk gS%

SqlConnectionStringBuilder Class ds Object dk iz;ksx djds ge SQL Server ds Connection String ls lEcaf/kr fofHkUu Parameters dks ;kn j[kus dh ijs”kkuh ls rks cp gh tkrs gSaA blds vykok bl Class dk ,d vkSj Qk;nk ;s gS fd DbConnectionStringBuilder Class ls Inherit gksus okyh gj Class Connection String o Database ds Description ds chp ,d izdkj ds Bridge dh rjg dke djrk gSA blfy, ;fn gekjs ikl igys ls fdlh Database dh Connection String miyC/k gks] rks ge ml String dks SqlConnectionStringBuilder Class ds Object ds :i esa Convert dj ldrs gSa vFkok ml Connection String dks SqlConnectionStringBuilder Class esa Constructor dh rjg Pass dj ldrs gSaA tSls%

SqlConnectionStringBuilder sqlConBuilder = new SqlConnectionStringBuilder( "Data Source=.\\SQLSERVEREXPRESS; Initial Catalog=pubs; Integrated Security = true"); SqlConnection testConnection = new SqlConnection(sqlConBuilder.ToString());

Page 81: Ado.ne twith csharpinhindi

80

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

;fn ge SqlConnectionStringBuilder ds Constructor esa bl izdkj ls Connection String dks Specify djrs gSa] rks ;s Class Automatically Lo;a gh lHkh Appropriate Parameters dks Populate dj ysrk gSA gkykafd ;gka geus SqlClient ds fy, SqlConnectionStringBuilder Class dks Use fd;k gS] tcfd ;fn ge pkgsa rks OracleClient Server ds fy, blh rjg ls OracleConnectionStringBuilder Class dks Use dj ldrs gSaA tcfd OleDb ds fy, OleDbConnectionStringBuilder Class dks Use dj ldrs gSaA

IDbConnection gkykafd ge dbZ izdkj ds Data Sources dks ADO.NET ds ek/;e ls Frontend ls Connect dj ldrs gSa] ysfdu fQj Hkh fofHkUu izdkj ds Data Sources dqN dke gesa”kk Common :i ls djrs gSaA mnkgj.k ds fy, gj Data Source ij Connection dks Open o Close fd;k tkrk gS] gj Data Source ds Connection dh fdlh Particular le; ij ,d fuf”pr fLFkfr gksrh gS] tks Data Source dh Open, Close tSlh Current State dks Represent djrk gSA lHkh izdkj ds Data Sources ij Apply gksus okys bu Common Behaviors dks ADO.NET }kjk IDbConnection Interface dks Implement djds Enforce fd;k tkrk gSA ADO.NET Connection Object dks ge ,d ,slk Object eku ldrs gSa] tks fdlh External Resource ds lkFk izfØ;k djrk gSA Connection Object fdlh External Resource ds lkFk D;k dke djrk gS] dsoy ;gh ckr egRoiw.kZ ugha gksrh gS cfYd ftl Resource ds lkFk ;s Object dke djrk gS] ml Resource o Frontend ds chp vkus&tkus okyk Data Performance dks izHkkfor djrs gq, Transfer gksrk gSA D;ksafd fdlh Backend ds lkFk Connection LFkkfir djuk fdlh Hkh Frontend ds fy, lcls T;knk Performance Intensive Task gksrk gSA blh otg ls ;s t:jh gksrk gS fd Connection Object IDisposable Interface dks Implement djsA IDisposable Interface, .NET dk ,d Standard Interface gS] ftlesa Dispose() uke dk ,d Method gksrk gS] ftls Connection Object esa Define djuk gksrk gSA ;s Method Connection Object dks Allocate fd, x, Resources dks Release djus dk dke djrk gSA pwafd Connection Object esa IDbConnection Interface dks Implement fd;k x;k gksrk gS] ftlesa IDisposable Interface dks Implement fd;k x;k gS] blfy, Hkh Connection Object esa Dispose() Method dks Define djuk t:jh gksrk gSA .NET Data Provider dks IDbConnection Interface esa Declare fd, x, fuEu Methods dks Implement djuk gksrk gS%

Page 82: Ado.ne twith csharpinhindi

81

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

BeginTransaction() Method Data Consistency cuk, j[kus ds fy, T;knkrj Modern Databases Transactions ds Concept dks Support djrs gSa] ftlds vUrxZr ;k rks dkeksa ds lewg ds lHkh dke iwjs gksrs gSa vFkok dksbZ Hkh dke iwjk ugha gksrkA ;kuh Transaction ,d All or Nothing Fashion esa dke djus okyk Atomic Operation dks Define djrk gS] ftlesa Specify fd, x, ;k rks lHkh Operations Perform gksrs gSa ;k fQj dksbZ Hkh Operation Perform ugha gksrkA BeginTransaction() ,d Common :i ls Use fd;k tkus okyk ,slk Function gS] tks fdlh Database ij fdlh Transaction dks Begin djus ds fy, Call fd;k tkrk gSA ;s Method ,d Overloaded Method gS vkSj bu Overloaded Methods esa ls ,d Method gesa Current Transaction dks IsolationLevel esa Specify djus dh lqfo/kk Provide djrk gSA ;s Transaction, System.Transaction Namespace esa Implemented Transaction ls vyx gksrk gSA

ChangeDatabase() Method tc gekjk Frontend fdlh Database Server ls Connect djrk gS] rks ,d gh Server ij ,d ls T;knk Running Databases gks ldrs gSaA bl fLFkfr esa ChangeDatabase() Function gesa leku Server ij fLFkr fofHkUu Databases ij Change djus dh lqfo/kk nsrk gSA

ChangeDatabase() dks Call djuk ,d fcYdqy u;k Connection Establish djus dh rqyuk esa dkQh T;knk Performing gksrk gSA ;gka rd fd Connection Pooling Hkh bruk Performing ugha gksrkA ysfdu ;s lqfo/kk dsoy SQL Server Databases rd gh lhfer gS] D;ksafd SQL Server ,d 2-Step Connection Process dks Follow djrk gS] tgka igys Step esa SQL Server, Database ls Connect gksrk gS] tcfd nwljs Step esa Catalog dh Request djrk gSA blfy, ChangeDatabase() Function dks Call djds ge dsoy Catalog dks gh Change djrs gSa] u;k Connection Establish ugha djrsA

Open() Method ;s Method fdlh Database ij Connection dks Open djrk gS vkSj ml Open fd, x, Connection dks Use djus yk;d cukrk gS] rkfd Frontend Application Database ds Data dks Access o Manipulate dj ldsA Open fd;k x;k Database Connection rc rd Pooled ugha gksrk] tc rd fd mls Explicitly ;kuh Manually Close ;k Dispose ugha dj fn;k tkrkA blfy, ;s t:jh gksrk gS fd Connection dks ftruk lEHko gks mruk nsj ls Open fd;k tk, vkSj ftruk tYnh gks lds] mruk tYnh Close dj fn;k tk,A

,d Developer ds :i esa gekjs fy, le>us okyh ckr ;s gS fd gkykafd Close() o Dispose() nksuksa gh Methods dk iz;ksx Connection Pooling esa enn djrs gSa] ysfdu Close() Method dk iz;ksx djds Close fd, x, Connection dks fQj ls Open fd;k tk ldrk gS tcfd Dispose() Method dk iz;ksx djds Dispose fd, x, Connection dks fQj ls Open ugha fd;k tk ldrkA

Page 83: Ado.ne twith csharpinhindi

82

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

CreateCommand() Method Database ds lkFk tks Interaction fd;k tkrk gS og Interaction, Command Object ds ek/;e ls iwjk gksrk gSA Command Object gesa fofHkUu izdkj ds Parameters ds lkFk Command Text Specify djus dh lqfo/kk nsrk gSA tgka Command dks Execute djus ds fy, bls bl ckr dh tkudkjh gksuk t:jh gksrk gS fd Command dks fdl Database ds Against Execute djuk gSA tc fdlh Connection Object ds fy, CreateCommand() Method Execute gksrk gS] rks ,d Command Object Create gksrk gS] tks fd mlh Connection ds fy, Execute gksrk gS ftlds fy, mls Create fd;k x;k gSA

IDbConnection Interface ds mijksDr Methods ds vykok fuEu Properties dks Hkh Implement djus dh t:jr iMrh gS%

ConnectionString Property bl Property esa gesa ml Data Source ls lEcaf/kr fofHkUu t:jh Parameters dks Specify djuk gksrk gS] ftudh vko”;drk ml Data Source ls Connection LFkkfir djus ds fy, t:jh gksrh gSA ge t:jr ds vuqlkj fdlh Particular Data Source ds vk/kkj ij bl Property esa vU; Database Specific Parameters Hkh Specify dj ldrs gSaA

ConnectionTimeout Property pwafd Connection gesa”kk fdlh u fdlh Physical File ds lkFk gh LFkkfir fd;k tkrk gS] fQj Hkys gh og dksbZ Text File gks vFkok Database File gksA bl fLFkfr esa dbZ ckj fdlh dkj.ko”k dksbZ Specific File Open ugha gks ikrhA

bl fLFkfr esa bl Property }kjk ge bl ckr dks Specify djrs gSa fd gekjk Connection Object vf/kdre fdrus Seconds ds le; rd Connection Establish djus dh dksf”k”k djus ds ckn Connection Fail gksus dh izfØ;k dks Follow djsxkA tcfd bl Property esa Specify fd;k x;k eku 0 Limitless Timeout dks Represent djrk gSA

Database Property bl Property esa gesa Current Database ;k ml Database dk uke Specify djuk gksrk gS] ftls Connection Open gksus ds ckn Use djuk gSA

State Property ;s Property fdlh Connection Object dks mldh Current State Specify djus dh lqfo/kk nsrk gSA bl Property dh lcls T;knk Most Common rjhds ls Use dh tkus okyh State ConnectionState.Open o ConnectionState.Closed gSA

Page 84: Ado.ne twith csharpinhindi

83

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

DbConnection Class ;s ,d Abstract Class gS] ftls Compulsory :i ls Inherit djuk t:jh gksrk gS] D;ksafd ge bl Class ds Direct Object Create ugha dj ldrsA gj Specific Data Provider dh Connection Class dks bl Class dks Inherit djuk Compulsory gksrk gSA DbConnection Class, IDbConnection dks Implement djrk gSA blfy, gesa bls vyx ls Implement djus dh t:jr ugha gksrh gSA vr% ge gekjs Development ds le; tks Hkh Data Source Use djsa] lHkh Commonality Concept dks Follow djrs gq, leku Methods o Properties Provide djrs gq, Database Access o Manipulate djus dh lqfo/kk nsrs gSaA pwafd .NET Data Provider dk Connection Object gesa”kk DbConnection Class dks Inherit djrk gS] blfy, bl Class ds lHkh Logics igys ls Implemented gksrs gSa] ftUgsa ge Directly Use dj ldrs gSaA mnkgj.k ds fy, ;fn ge SqlConnection Class dks Use djrs gS] rks bl Class esa DbConnection dks igys ls gh Derive djus dh otg ls IDbConnection Interface ds lHkh Methods o Properties dks Implement fd;k tk pqdk gSA blhfy, fcuk fdlh Extra Coding ds ge SqlConnection.Open(), SqlConnection.Dispose(), SqlConnection.Close() vkfn Methods dks Directly Use dj ldrs gSaA

Connection Pooling tc ge ADO.NET dk iz;ksx djrs gq, ,sls High Demand Applications Create djrs gSa] ftudk iz;ksx djrs gq, ,d gh le; ij cgqr lkjs Users Concurrently leku Database dks Access o Manipulate dj jgs gksrs gSa] rc lHkh Users ds fy, Database Connection dks rc rd Open j[kuk tc rd fd gj User ml Database dks Use dj jgk gS] Database ds Performance ij dkQh Negative Impact Mkyrk gS] tks fd Bhd ugha dgk tk ldrkA mnkgj.k ds fy, Stock Market esa gj Second gtkjksa Transactions Perform gksrh gSa vkSj ,d gh le; ij gtkjksa Users leku Database ij Market dh Live Status dks ns[kus ds fy, Request Perform djrs gSaA ,sls esa lHkh Users ds fy, leku le; ij leku Database ij gtkjksa Connections dks Open j[kuk vkSj rc rd Open j[kuk tc rd fd lHkh Users ml leku Live Data dks Access dj jgs gSa] Database dh Performance dks cgqr gh T;knk izHkkfor djrk gSA ifj.kkeLo:i Database ds Crash gksus dh lEHkkouk dkQh T;knk gks tkrh gSA fiNys Section esa geus bl fo’k; esa FkksMk cgqr Discuss fd;k Fkk fd IDbConnection, IDisposable dks Implement djrk gSA tcfd ;s t:jh gksrk gS fd Connection Class gesa”kk

Page 85: Ado.ne twith csharpinhindi

84

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

IDisposable Interface ds Dispose() Method dks Implement djs] tks fd lHkh izdkj ds Allocated Resources dks Cleanup djus dk dke djrk gSA tc ge ADO.NET dk iz;ksx djrs gq, Stock Market tSlk dksbZ High Demanding Complex Application Create djrs gSa] rc gesa SQL Server ;k Oracle tSls cgqr gh Powerful Database Server dh t:jr gksrh gS] tks fd lekukUrj :i ls gtkjksa Connections dks leku le; ij Handle djus esa l{ke gksrs gSaA SqlConnection ;k OracleConnection tSls Data Provider Specific Connection Objects }kjk ADO.NET lkekU;r% Network ds ek/;e ls Database Server ls Communication djrk gSA tcfd ge tkurs gSa fd Network dh Speed vHkh Hkh dkQh de gksrh gSA bl fLFkfr esa leku le; ij ,d gh Database Server ij gtkjksa Connections dks rc rd ds fy, Open j[kuk tc rd fd User fdlh Database Server ls Interaction djrk gS] lEHko ugha gks ldrkA blfy, bl leL;k ds lek/kku ds :i esa vyx&vyx Data Source vyx&vyx rjg ds Database Server Architectures Use djrs gSaA ftuesa ls dqN Database Servers igys ls Ready to Use, Open Physical Network Connections Use djrs gSa vkSj tks Connection Currently Use esa ugha gksrk] mls fdlh Particular Database Request dks Perform djus ds fy, Use dj ysrs gSaA ;s Architecture lkekU;r% SQL Server dk SqlConnection Object Use djrk gSA bl Architecture dks mi;ksx esa ysus ds dkj.k SQL Server Database ij de Physical Connections }kjk vf/kd Request dks DbConnection Object ds ek/;e ls iwjk fd;k tkuk lEHko gks ikrk gSA bl Architecture ds vUrxZr DbConnection Object, Connection Pooling uke ds ,d Mechanism dks mi;ksx esa ysrk gS vkSj igys ls Perform fd, x, Database Request ds Data dks gh fcuk vf/kd Resources dk mi;ksx fd, gq, vU; Database Requests dks iwjk djus ds fy, Reuse dj ysrk gSA ;kuh leku le; ij tc leku Data ds fy, cgqr lkjs Users Request djrs gSa] rks dsoy igyh Request dks gh Physically Database ij Perform fd;k tkrk gS vkSj Database }kjk Return gksus okys Data dks FkksMh nsj ds fy, Cache dj fy;k tkrk gSA fQj mlh leku Database Request dks tc vU; Users }kjk Perform fd;k tkrk gS] rks vxyh ckj vkus okyh leku Request dks fQj ls Database ij Perform ugha fd;k tkrk] cfYd Cache esa Stored Data dks gh Database Request ds Response ds :i esa Return dj fn;k tkrk gSA ifj.kkeLo:i Database ij de Connections Open djus iMrs gSa vkSj de Connections ls Returned Result dks T;knk Users dks Serve dj fn;k tkrk gSA ftldh otg ls High Demand Application dh Performance dkQh Improve gks tkrh gS vkSj Database ds Crash gksus dh lEHkkouk ugha jgrh] D;ksafd Database ij lekukUrj :i ls cgqr de Connections Open fd, tkrsA

Page 86: Ado.ne twith csharpinhindi

85

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

;gka ;s ckr /;ku j[kus okyh gS fd SqlConnection ;k OracleConnection Object Instances leku rjhds ls Physical Database Connections Open ugha djrsA cfYd Database ij Physically Open fd, tkus okys Connections dh la[;k dks Connection Pooling Architecture dk iz;ksx djrs gq, Internally ADO.NET }kjk Mange fd;k tkrk gSA tcfd Frontend esa SqlConnection ;k OracleConnection uke ds Specific DbConnection Object ds ek/;e ls Actual Physical Connection Data dk Access o Manipulation Perform gksrk gSA ge ;s eku ldrs gSa fd ,d High Demand Application esa cgqr lkjs Connections lekukUrj :i ls Open jgrs gSa vkSj rc rd Open jgrs gSa] tc rd fd User dh Requirement iwjh ugha gks tkrhA tcfd ;s Opened Connection iwjs le; Active ;kuh mi;ksxh ugha jgrs D;ksafd User iwjs le; leku Active Connection dks Use ugha dj jgk gksrk cfYd Frontend Application ds vU; fgLlksa ds lkFk Hkh t:jr ds vuqlkj Interact dj jgk gksrk gSA bl fLFkfr esa okLro esa User dks mlds Opened Connection dh iwjs le; t:jr ugha gksrh cfYd le; ds dqN fgLls esa gh mls Opened Connection dh t:jr gksrh gSA blfy, leku Opened Connection ds Expensive Resources dks Multiple Users ds chp Pool fd;k tk ldrk gS] ftlds vUrxZr leku Opened Connection dks vyx&vyx Users vyx&vyx le; ij mi;ksx esa ysrs gSaA bl izfØ;k dks Connection Pooling ds uke ls tkuk tkrk gS D;ksafd leku Connection dbZ Users }kjk t:jr ds vuqlkj Pool (Share) fd;k tkrk gSA ADO.NET ds lkFk Connection Pooling dks Use djuk dkQh vklku gksrk gS] D;ksafd Connection Pooling djus ds fy, gesa ,d Developer ds :i esa] ;fn ge bls Use djuk u pkgsa] rks bls Manually Off djus ds vykok vU; fdlh Default Setting ds lkFk dqN Hkh Extra djus dh t:jr ugha gksrh gSA mnkgj.k ds fy, SqlClient ds fy, ;fn ge gekjs Connection dks Pool djuk ugha pkgrs] rks gesa gekjs Connection String esa fuEukuqlkj ,d Key-Value Pair dks Specify djus ds vykok vkSj dqN ugha djuk gksrk% Pooling=false; tSlkfd geus blh Chapter esa fiNys Sections esa ns[kk gS fd fdlh Backend Database ds lkFk ADO.NET ds ek/;e ls Frontend dk Connection Establish djus ds fy, gesa Connection String Specify djuk gksrk gS] ftlesa gesa Database Related Parameters dks Specify djuk gksrk gSA blfy, tc ge Connection String dk iz;ksx djrs gq, fdlh Database ij Connection Establish djrs gSa] rks ADO.NET Lo;a gh Internally gekjs }kjk Specified gj Opened Connection ds fy, ,d Pool Maintain djrk gSA vU; “kCnksa esa dgsa rks ADO.NET Connection String dks ,d Key dh rjg iz;ksx djrs gq, Pools ds ,d Collection dks Maintain djrk gSA tc ge fdlh Connection Object ij Open() Method dk iz;ksx djrs gq, dksbZ Connection Open djus dh Request Perform djrs

Page 87: Ado.ne twith csharpinhindi

86

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

gSa] rks ADO.NET Internally lcls igys ;s Check djrk gS fd D;k mlesa dksbZ Unused Physical Database Connection Available gS ;k ughaA Physical Database Connection ml fLFkfr esa Pooled gksus ds fy, Ready gksrk gS] tcfd dksbZ vU; User ;k Frontend Application dk dksbZ Part Actively ml Connection dks Use ugha dj jgk gksrk gSA ;kuh Effective Connection Pooling ds fy, t:jh gS fd Connection dks ftruk lEHko gks mruk nsj ls Open gksuk pkfg,] tcfd ftruk tYnh gks] mruk tYnh Close gks tkuk pkfg,A ;fn Database Server ij leku le; ij cgqr lkjs Requests Perform gksa] rks ADO.NET Lo;a gh vius Lrj ij Application ds Load ds vk/kkj ij bl ckr dk fu.kZ; ysrk gS fd mls dc ,d ls T;knk Physical Connection dks Concurrently Open djuk gSA tcfd Database Server ij Request dh la[;k de gksus ij ADO.NET Lo;a gh Opened Physical Connections dks Close Hkh djrk jgrk gSA bu Connection Pooling Parameters dh ,d Default la[;k Hkh gksrh gS] ftls ge gekjh t:jr ds vuqlkj Connection String }kjk Configure dj ldrs gSaA tcfd Connection String esa Extra Parameters ds :i esa ge SqlClient Connection Pooling Key-Value Pairs dks viuh t:jr ds vuqlkj ml Specific Situation esa mi;ksx esa ys ldrs gSaA

Page 88: Ado.ne twith csharpinhindi

87

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

COMMAND ObjECT

Page 89: Ado.ne twith csharpinhindi

88

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

ADO.NET – Command Object tSlkfd geus fiNys Chapter esa Detail ls Discuss fd;k] tc ,d ckj Underlying Data Source ds lkFk Connection Establish gks tkrk gS] rks Data Source ds lkFk Communicate djus esa nks Operations Involved gksrs gSa%

1 Frontend Application Underlying Data Source ds ftl Data dks Access djuk pkgrk gS mls Identify djuk vkSj

2 Identified Result dks Retrieve djukA igys Step ds vUrxZr Underlying Data Source ij ,d Command ;k Request dks fdlh Predefined Language ;k Format esa Send djuk gksrk gSA gkykafd ADO.NET fdlh Particular Language ;k Syntax dks ck/; ugha djrk] ysfdu fQj Hkh Data Source ls Query fd, tkus okys Data dks Retrieve djus ds fy, SQL (Structured Query Language) dks Preferred Language ds :i esa Use fd;k tkrk gSA Underlying Data Source ij Query Perform djus ds fy, MS-SQL Server T-SQL uke dh Query Language dks Support djrk gS] tcfd Oracle, PL/SQL dks Support djrk gSA nksuksa gh Languages, Text-Based Languages gSa vkSj nksuksa ds gh Syntaxes o Purposes dkQh gn rd ,d leku gSa] ftuds vUrxZr ewy :i ls DDL, DML, TCL tSls Commands gksrs gSaA

Retrieving Single Result with ExecuteScalar() Method tc ge Underlying Data Source ls Frontend esa Data Retrieve djuk pkgrs gSa] rks SQL gesa dbZ rjhdksa ls Value Retrieve djus ds fy, fofHkUu izdkj ds SQL Commands Provide djrk gSA tgka Scalar Values ,slh Values gksrh gSa] tks fd fdlh Single Data tSls fd Integer, Floating Point Value, Character vkfn dks Represent djrk gSA vius Frontend ds ek/;e ls Underlying Database ls Data dh Query djus ds fy, gesa gesa”kk ADO.NET ds Command Object dks Use djuk gksrk gSA gkykafd bl iqLrd esa gekjk T;knkrj Discussion iwjh rjg ls SQL Server ds ADO.NET Data Provider ij vk/kkfjr gS] ysfdu ;s lkjk Discussion Oracle ;k fdlh vU; ODBC/OleDb Data Provider ij Hkh leku :i ls Apply gksrk gSA

Creating Command Object ADO.NET esa Generic Command Object dks DbCommand Class }kjk Represent fd;k tkrk gS] tcfd MSSQL Server ;k Oracle Specific Command Object dks Øe”k% System.Data.SqlClient.SqlCommand ;k System.Data.OracleClient.OracleCommand

Page 90: Ado.ne twith csharpinhindi

89

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

}kjk Represent fd;k tkrk gS tks fd DbCommand Class ls Inherit gksrs gSaA Inheritance dh bl fLFkfr dks geus nwljs Chapter esa ,d fp= }kjk Hkh Represent fd;k FkkA Command Object Create djuk dkQh vklku gSA Command Object Create djus ds fy, gesa dsoy pkj Supported Overloaded Constructors dks Use djuk gksrk gSA tSls% SqlCommand testCommand = new SqlCommand(); gkykafd ;s Statement dqN Special dke ugha djrkA ysfdu pwafd ge fdlh Command }kjk fdlh Specific SQL Query dks Underlying Database ij Fire djuk pkgrs gSa] rkfd Frontend Application Underlying Data Source ds Data dks Access o Manipulate dj lds] blfy, gesa gekjs Command ds lkFk gh Underlying Database dks Represent djus okys Connection Object o SQL Query dks Hkh Specify djuk gksrk gSA

Configuring Command Object Command Object dks ftl Connection Object ds fy, Use djuk gS] mls Specify djus ds fy, ge gekjs Newly Created Command Object dh Connection Property dks fuEukuqlkj rjhds ls Set dj ldrs gSa% testCommand.Connection = testConnection; tcfd ;fn ge pkgsa rks Command Object Create djrs le; gh mldh Connection Property dks fuEukuqlkj rjhds ls Command Constructor ds ek/;e ls Hkh Set dj ldrs gSa% SqlCommand testCommand = new SqlCommand("Command Text", testConnection); lkFk gh ge Connection Object ds lkFk CreateCommand() Method dk iz;ksx djrs gq, Hkh fuEukuqlkj ;gh dke dj ldrs gSa% SqlConnection testConnection = new SqlConnection(); SqlCommand testCommand = testConnection.CreateCommand(); ;kuh ge dqy rhu rjhdksa ls Command Object ds lkFk ml Connection Object dks Set dj ldrs gSa] ftlds fy, Command Object esa Specified SQL Query dks Underlying Database ij Execute djrs gq, Data Source ls Required Result Generate djuk gSA pwafd ge Command Object dks Independent rjhds ls Create djrs gSa] blfy, ge ,d gh Command Object dks viuh t:jr ds vuqlkj vyx&vyx Connection ds fy, ckj&ckj Reuse dj ldrs gSaA

Page 91: Ado.ne twith csharpinhindi

90

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

mijksDr rhu rjhdksa ds vykok ge ,d vkSj rjhds dk iz;ksx djds Hkh Command Object Create dj ldrs gSa] ftlds vUrxZr ge fdlh Transaction dks Hkh Command Object esa Specify djus dh {kerk izkIr dj ysrs gSaA ifj.kkeLo:i bl izdkj ds Command Object esa ge ml SQL Command dks Hkh Specify dj ldrs gSa] ftls Command Object ds ek/;e ls Execute djuk gSA tSls% SqlCommand testCommand = new SqlCommand("…", testConnection, Transaction); tc ge Command Object ds lkFk mijksDrkuqlkj fofHkUu rjhdksa dk iz;ksx djds bl ckr dks Specify dj nsrs gSa fd gesa gekjs Command Object dks fdl Connection Object ds fy, Execute djuk gS] mlds ckn gesa bl ckr dks Specify djuk gksrk gS fd gesa Underlying Data Source ls fdl izdkj ds Data dks Retrieve djuk gSA ;kuh Command Object dks Connection Object ls Attach djus ds ckn vc gesa Command Object }kjk Underlying Database ij Execute fd, tkus okys SQL Command dks Specify djuk gksrk gS] ftls Command Text ds uke ls tkuk tkrk gSA mnkgj.k ds fy, ;fn ge gekjs pubs uke ds Database dh authors uke dh Table ls dqy Authors dh la[;k izkIr djuk pkgsa] rks gekjk SQL Statement dqN fuEukuqlkj gksxk% SELECT COUNT(*) FROM authors vkSj bl SQL Query dks Command Object esa dqN fuEukuqlkj rjhds ls Embed fd;k tk,xk% SqlCommand testCommand = new SqlCommand( "SELECT COUNT(*) FROM authors", testConnection ); tcfd ;fn ge pkgsa rks blh Statement dks dqN fuEukuqlkj rjhds ls Hkh fy[k ldrs gSa% SqlCommand testCommand = new SqlCommand("SELECT COUNT(*) FROM authors"); testCommand.Connection = testConnection; Command Object Create djds Execute gksus okys Command Text dks Specify djus rFkk Command Object dks fdlh Connection Object ds lkFk Attach djus ds ckn vc gesa ;s crkuk gksrk gS fd gekjs Command Object }kjk tks Command Text Execute fd;k tkuk gS] mldk Type D;k gS vkSj bl Type dks Specify djus ds fy, gesa Command Object dh CommandType Property dks Use djuk gksrk gSA lkekU;r% Default :i ls CommandType Property dk eku CommandType.Text gksrk gS] tks fd fdlh String Formatted SQL Query dks Represent djrk gSA tcfd ;fn ge gekjs Command Object ds ek/;e ls fdlh Stored Procedure dks Execute djuk pkgsa] rks

Page 92: Ado.ne twith csharpinhindi

91

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

CommandType Property esa gesa CommandType.StoredProcedure eku Specify djuk gksrk gSA

Executing Command fiNys Sections esa geus Command Object Create djus o Command Object dks Underlying Data Source ls Required Result izkIr djus ds fy, Configure djus ds ckjs esa tkukA ysfdu tc rd ge fdlh Command dks Execute ugha djrs] rc rd og Command Underlying Data Source ds lkFk fdlh Hkh rjg dk Interaction djrs gq, Result Generate ugha djrkA tSlkfd geus fiNys Chapter esa Discuss fd;k Fkk fd SqlConnection Class, DbConnection Class dks Inherit djrk gS] ftlesa IDbConnection Interface dks Implement fd;k x;k gksrk gS vkSj D;ksafd Common :i ls Use gksus okys ADO.NET Objects leku Programming Paradigm dks Follow djrs gSa] blfy, Command Class, IDbCommand Interface dks Implement djus ds lkFk gh DbCommand Class dks Inherit Hkh djrk gSA okLro esa DbCommand Class, IDbCommand Interface dks Implement djrk gS] ftldk eryc ;s Hkh gS fd ExecuteScalar() Method, SqlCommand Class ds ek/;e ls ,slk Command Execute djus ds fy, Hkh Accessible gS] tks fd Result ds :i esa dsoy ,d Single eku Return djrk gSA tcfd Single Result ds :i esa dsoy ,d Value gh gks ldrk gS] Results dk iwjk Set ughaA blfy, ExecuteScalar() Method gh og Method gS] ftldk iz;ksx djds ge pubs uke ds Database esa Exist authors uke ds Table esa Stored dqy Records ;kuh Authors dh la[;k Retrieve dj ldrs gSaA ysfdu blls igys fd ge ExecuteScalar() Method dks Call djsa] ge ftl Connection ds fy, Command dks Execute djuk pkgrs gSa] mldk Open gksuk t:jh gksrk gS vU;Fkk ADO.NET ,d Exception Throw djrk gSA bl fLFkfr esa gesa bl Method dks Execute djus ls igys ml Underlying Data Source ds fy, Connection dks Open djuk gksrk gS] ftlds fy, gesa Connection Object ds lkFk Open() Method dks Use djuk gksrk gSA Connection Open djus ds ckn tc ge ExecuteScalar() Method dks Call djrs gSa] rks ;s Method ,d Object Data Type dk eku Return djrk gS] ftls Type Cast djrs gq, fuEukuqlkj rjhds ls fdlh Integer Type ds Variable esa Store fd;k tkrk gS] D;ksafd Underlying Database ls Return gksus okyk eku ,d Numerical eku gksrk gSA int totalAuthors = (int) testCommand.ExecuteScalar(); bl izdkj ls ;fn ge mijksDr lHkh Code Segments dks ,d Program ds :i esa Create djsa] rks gekjk Program dqN fuEukuqlkj gksxk%

Page 93: Ado.ne twith csharpinhindi

92

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

using System; using System.Data; using System.Data.SqlClient; namespace DBApplication { class Program { static void Main(string[] args) { SqlConnectionStringBuilder sqlConBuilder = new SqlConnectionStringBuilder ("Data Source=.\\SQLSERVEREXPRESS;Initial Catalog=pubs;Integrated Security = true"); SqlConnection testConnection = new SqlConnection(sqlConBuilder.ToString()); SqlCommand testCommand = new SqlCommand ("SELECT COUNT(*) FROM authors", testConnection); try { testConnection.Open(); if(testConnection.State == ConnectionState.Open) { int totalAuthors = (int)testCommand.ExecuteScalar(); Console.WriteLine("Total Authors: " + totalAuthors); } } catch(Exception) { Console.WriteLine("Connection Failed on SQL Server Data Source."); } finally { // Closing a connection ensures connection pooling. if (testConnection.State == ConnectionState.Open) { testConnection.Close(); } testConnection.Dispose(); } } } } tc ge bl Program dks Run djrs gSa] rks gesa fuEukuqlkj Output izkIr gksrk gS%

Page 94: Ado.ne twith csharpinhindi

15

If you have any problem ;fn iqLrds a [kjhnus ls lEcaf/kr fdlh Hkh izdkj dh dksbZ ckr vkidks Bhd ls le> esa u vkbZ gks ;k fdlh Hkh rjg dk Confusion gks] rks vki 097994-55505 ij Call/Miss Call/SMS dj ldrs gSaA ;Fkk lEHko rqjUr vkidh leL;k dk lek/kku fd;k tk,xkA pwafd ;s lkjh iqLrdsa PDF Format Softcopy Ebooks gSa blfy, bu iqLrdksa dk Download Link vkidks vkids Email ij gh Send fd;k tkrk gS ] ftUgsa Click djrs gh ;s iqLrds a vkids Computer ij Download gksuk “kq: gks tkrh gSaA

,d ckj bu iqLrdksa dks Download djus ds ckn vki bUgsa fdlh Hkh PDF Supported Computer, Mobile, Smart Phone, Tablet PC, Net-Book, Notebook ;k Laptop tSlh Device ds ek/;e ls i< ldrs gSa vFkok ;fn vki pkgsa] rks vius Printer }kjk bu iqLrdksa dk Hard Copy Printout fudky ldrs gSaA pwafd bu iqLrdksa ds Download Links vkidks vkids Email Address ij gh izkIr gksrs gSa] blfy, t:jh gS fd mijksDr “Order Form” ij vki viuk tks Email Address o Mobile Number Specify djrs gSa] og Working vkSj ,dne lgh gksA D;ksafd fdlh Hkh rjg dh ijs”kkuh gksus dh fLFkfr esa ge vkidks vkids Mobile Number vFkok Email Address }kjk gh Contact djrs gSaA

Page 95: Ado.ne twith csharpinhindi

93

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

tgka ge ns[k ldrs gSa fd pubs uke ds gekjs Database dh authors uke dh Table esa dqy 23 Records gSa] tks fd 23 Authors dks Represent dj jgs gSaA blh Program dks ;fn ge pkgsa rks fuEukuqlkj using Block dk iz;ksx djds Hkh Create dj ldrs gSa% using System; using System.Data; using System.Data.SqlClient; namespace DBApplication { class Program { static void Main(string[] args) { SqlConnectionStringBuilder sqlConBuilder = new SqlConnectionStringBuilder ("Data Source=.\\SQLSERVEREXPRESS;Initial Catalog=pubs;Integrated Security = true"); SqlConnection testConnection = new SqlConnection(sqlConBuilder.ToString()); SqlCommand testCommand = new SqlCommand ("SELECT COUNT(*) FROM authors", testConnection); using (testConnection) { testConnection.Open(); int totalAuthors = (int)testCommand.ExecuteScalar(); Console.WriteLine("Total Authors: " + totalAuthors); } } } } tc ge using Block dk iz;ksx djrs gSa] rc gesa Create fd, tkus okys Connection Object dks Close djus ds fy, Close() Method vFkok Connection Object ds Resources dks Free djus ds fy, Dispose() Method dks Use djus dh t:jr ugha gksrh] cfYd ;s dke .NET CLR Lo;a gh vius Lrj ij Automatically djrk jgrk gSA gesa dsoy bruk gh djuk gksrk gS fd using ds lkFk Specified Parenthesis ds chp gesa ml Object dks Specify djuk gksrk gS] ftlds Resources dks Automatically Collect djus ds fy,

Page 96: Ado.ne twith csharpinhindi

94

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Specify djuk gS] tSlkfd geus blds Parenthesis ds chp testConnection Object dks Specify fd;k gS] D;ksafd ge gekjs Connection Object }kjk Occupied Resources dks Automatically Free djuk pkgrs gSaA

Retrieving Resultset with ExecuteReader() Method tSlkfd geus fiNys Section esa ns[kk fd tc gesa Underlying Data Source ls dsoy ,d Single Value Retrieve djuk gksrk gS] rc ge gekjs Command Object ds lkFk ExecuteScalar() Method dk iz;ksx djrs gSaA ysfdu tc gekjs Command Object esa Specified SQL Statement }kjk ,d ls T;knk eku ;kuh Resultset Return gks jgk gksrk gS] rks bl izdkj ds Resultset dks Frontend esa Retrieve djus ds fy, ADO.NET gesa ExecuteReader() uke dk ,d vyx Object Provide djokrk gSA ;kuh tc gesa Underlying Data Source ls Return gksus okys ,d ls T;knk ekuksa ds lewg dks Access o Manipulate djuk gksrk gS] rc ;s t:jh gksrk gS fd gekjk Command Object IDbCommand Interface dks Implement djs] ftls Implement djus ij gesa bl Interface dks Implement djus okyh Class esa ExecuteReader() Method dks Define djuk t:jh gksrk gS vkSj SQL Server o Oracle tSls Specific .NET Data Providers dks Use djrs le; SqlCommand ;k OracleCommand Class esa gesa ;s Method ds igys ls gh Implemented gksus dh otg ls Use djus ds fy, Directly Available feyrk gSA vr% tc ge SqlCommand ;k OracleCommand Type dk Object Create djrs gSa] rc Underlying SQL Server ;k Oracle Data Source ls Return gksus okys ,d ls T;knk Data ds Resultset dks Access o Manipulate djus ds fy, ge Command Objects ds lkFk ExecuteReader() Method dks Use dj ldrs gSaA tc ge ExecuteReader() Method dk iz;ksx djrs gq, SQL Server ij Batched Query Fire djrs gSa vFkok Oracle Server ij REF CURSOR Fire djrs gSa] rc gesa tks cgqr lkjs Resultset Return gksrs gSa] mu Return gksus okys fofHkUu Resultset dks Browse djus ds fy, gesa NextResult() uke dk ,d Method Hkh izkIr gksrk gSA

IDataRecord Interface ExecuteReader() Method gesa IDataReader Data Type dk ,d Object Return djrk gS ftlesa Fire gksus okyh SQL Query ds vk/kkj ij Return gksus okys fofHkUu Records Stored gksrs gSa vkSj ;s IDataReader Object gesa Return gksus okys Resultset ds fofHkUu Rows o Columns ij Read-only / Forward-Only Fashion esa Traverse djus dh lqfo/kk Provide djrs gSaA IDataReader Interface, IDataRecord o IDisposable uke ds nks Interfaces dks Hkh Implement djrk gS] tcfd tSlkfd ge tkurs gSa fd IDisposable Interface dks Implement djus ij gesa Dispose() Method dks Hkh Define djuk t:jh gksrk gS] tks lHkh Unmanaged

Page 97: Ado.ne twith csharpinhindi

95

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Resources dks Free, Release o Reset djus ds fy, ftEesnkj gksrk gSA tcfd IDataRecord Interface ADO.NET Architecture }kjk Return gksus okys Resultset ds fdlh Individual Record dks Represent djrk gSA blfy, ge bl ckr ds fy, Ensure gks ldrs gSa fd IDataRecord esa og Minimum Functionality Exist gS] ftls ADO.NET esa fdlh Row dks Represent djus ds fy, Implement djuk Compulsory gksrk gSA IDataRecord esa fuEukuqlkj dqN egRoiw.kZ Methods gksrs gSa ftUgsa Compulsory :i ls Implement djuk t:jh gksrk gS%

Get{DataType}() Method ;s Methods okLro esa fofHkUu Get Methods dk Shortname gSA ;kuh okLrfod Methods dk uke GetInt32(), GetFloat(), GetBoolean() vkfn gSaA ;s Method iwjh rjg ls Return gksus okys eku ij fuHkZj djrs gSaA ;kuh ;fn Floating Point eku Return Retrieve djuk gks] rks ge GetFloat() Method Use djrs gSa] tcfd Boolean eku Return djus ds fy, gesa GetBoolean() Method dks Use djuk gksrk gSA tcfd ;fn gesa Return gksus okys Data ds Type dk irk u gks] rks ge GetValue() uke ds Generic Method dks Hkh Use dj ldrs gSa] tks fd ,d Object Data Type dk eku Return djrk gSA

;s lHkh Get Methods Int32 Type dk ,d Parameter Accept djrs gSaA ;s Int32 Value ,d Column Ordinal gksrk gS] tks fd fdlh Record/Row ls Retrieve gksus okys fofHkUu Columns esa ls fdlh Particular Zero Based Column dks Represent djrk gSA ;kuh Record ds igys Column dk Index Number 0 gksrk gSA blfy, ;fn gesa Return gksus okys Records ds pkSFks Column dk eku Retrieve djuk gks] rks gesa Parameter ds :i esa eku 3 Specify djuk gksrk gSA

GetName() Method ;fn gesa fdlh Particular Column ds eku dks mlds uke ls Retrieve djuk gks] rks bl Method esa Parameter ds :i esa ge ml Column dk uke ,d String Value ds :i esa Specify djrs gSaA ;s Method GetOrdinal() Method ds leku gh dke djrk gSA

GetOrdinal() Method ;fn gesa fdlh Column ds Ordinal ;kuh Database dh Table esa fdlh Column dk tks uke Specified gS] ml uke dh t:jr gks] rks ge bl Method dks Use dj ldrs gSaA ;s Method Exactly GetName() Method ds leku dke djrk gS] ftlesa gesa Parameter ds :i esa Column ds uke dks ,d String Value ds :i esa Specify djuk gksrk gSA

IsDbNull() Method Databases esa fdlh Unknown Value dks Represent djus ds fy, fdlh Column esa Null Store fd;k tkrk ldrk gSA blfy, bl Method dk iz;ksx djds ge bl ckr dk irk yxk

Page 98: Ado.ne twith csharpinhindi

96

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

ldrs gSa fd fdlh Particular Column esa Null Value gS ;k ughaA ;s ,d ,slk Method gS tks Parameter esa Specify fd, x, Zero Based Column Number dks bl ckr ds fy, Check djrk gS fd mlesa Null Value gS ;k ugha vkSj Return Value ds :i esa ,d Boolean eku Return djrk gSA

fdlh Column dks Directly Nullable Value Assign djus ls igys Hkh gesa bl Method dks Use djds bl ckr dk irk yxk ysuk pkfg, fd mlesa igys ls Null Value Exist gS ;k ughaA D;ksafd ;fn ftl Column esa ge Null Value Assign dj jgs gSa] mlesa igys ls Null gks] rks ,d Exception Throw gksrk gSA Performance cuk, j[kus ds fy, Hkh csgrj ;gh jgrk gS fd IsDbNull() Method ls Return gksus okyh Value dks System.DBNull.Value ds lkFk Compare dj fy;k tk,A

pwafd tc ge Recordset ds :i esa Multiple Records izkIr djus ds fy, ExecuteReader() Method dks Use djrs gSa] rc Return gksus okys Resultset ds fofHkUu Records ds fofHkUu Columns dks Access o Manipulate djus ds fy, gekjs ikl IDataRecord Type dk Object gksrk gS] blfy, bl Object ds lkFk fdlh mi;qDr Method dk iz;ksx djds ge Record ds fdlh Column ds eku dks fuEukuqlkj rjhds ls Access dj ldrs gSa% IDataRecordInstance["ColumnName"]; //Using Column Name IDataRecordInstance[0]; //Using Column Ordinal gkykafd ge pkgsa rks Column Name dk iz;ksx djrs gq, Hkh fdlh Record ds fofHkUu Columns dks T;knk vklkuh ls Access dj ldrs gSaA ysfdu Column Name String Format esa gksrk gS tcfd Computer esa Integer Values dks T;knk rst xfr ls Process fd;k tk ldrk gSA blfy, ;fn ge Zero Based Column Ordinal dks Use djrs gSa] rks Database ls Return gksus okys Data dks T;knk rst xfr ls Access dj ldrs gSaA lkFk gh ;fn gesa fdlh Record ds lHkh Columns dks ,d lkFk Access djuk gks] rks Zero Based Column Ordinal rjhds dk iz;ksx djds Looping ds ek/;e ls ;s dke cMh gh vklkuh ls dj ldrs gSa] tcfd Column Name dks Use djus ij ge Looping dk iz;ksx ugha dj ldrsA blds vykok String ,d Immutable Object gksrk gS] blfy, ge ftruh ckj Hkh Column Name dks String Format esa Specify djrs gSa] ml String dks Store djus ds fy, Computer dks u;k Memory Allocate djuk iMrk gS lkFk gh Integer dh rqyuk esa T;knk Memory Allocate djuk iMrk gSA bu lHkh dkj.kksa dh otg ls fdlh Record ds fofHkUu Columns dks Zero Based Ordinal Value ds ek/;e ls Access djuk] Column ds uke dks Use djus dh rqyuk esa T;knk Performing gksrk gSA Ordinal Column ml fLFkfr esa vkSj Hkh T;knk mi;ksxh gks tkrk gS] tc gekjk Command Execute gksus ds ckn IDataRecord Objects dk ,d Collection Return djrk gS vkSj gesa ml Collection dks Iterate djrs gq, fofHkUu Records ds Columns dh Values dks Access djuk gksrk gSA

Page 99: Ado.ne twith csharpinhindi

97

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Performance Issues dks /;ku esa j[krs gq, gesa Loop esa gesa”kk Int32 Indexer dks Use djuk pkfg, u fd String Indexer dksA ge GetOrdinal() o GetName() Methods dks Column ds Name o Ordinal ds chp Conversion djus ds fy, Hkh mi;ksx esa ys ldrs gSa] D;ksafd GetOrdinal() Method gesa”kk vius Parameter ds :i esa Specified Column Name dk Index Ordinal Return djrk gS tcfd Get{DataType}() Methods gesa”kk vius Parameter ds :i esa Specified Index Ordinal dk Column Name Return djrk gS tc ge Underlying Data Source ls cgqr lkjs Records Retrieve djuk pkgrs gSa] rc gesa Command Object ds Command Text ds :i esa ,slk SQL Statement Specify djuk gksrk gS] tks Underlying Data Source ls ,d ls T;knk Records Retrieve djs lkFk gh Retrieve gksus okys Multiple Records dks Frontend Client esa Hold djus ds fy, Hkh ,d Object dh t:jr gksrh gSA Underlying Data Source ls IDataRecord ds Collection ds :i esa Resultset dks Retrieve djus ds fy, gesa DbCommand.ExecuteReader() Method dks Use djuk gksrk gSA ;s Method ,d DbDataReader Object Return djrk gSA blfy, ;fn ge gekjs pubs Database ds authors Table ls lHkh Authors dh Details dks Retrieve djuk pkgsa] rks gesa Create fd, tkus okys Command Object dh CommandText Property esa fuEu Query dks Specify djuk gksxk% SELECT * FROM authors bl Query okys Command Object dks ge fuEukuqlkj Create dj ldrs gSa% SqlCommand testCommand = new SqlCommand ( "SELECT * FROM authors", testConnection ); vkSj D;ksafd ;s SQL Statement Underlying Data Source ls Multiple Records Retrieve djsxk] blfy, bls Execute djus ds fy, gesa fuEukuqlkj ExecuteReader() Method dks Use djuk gksxk% SqlDataReader allAuthors = testCommand.ExecuteReader(CommandBehavior.CloseConnection); pwafd ExecuteReader() Method Underlying Database ls Frontend esa ,d ls vf/kd Records Return djrk gS] blfy, bl Return gksus okys Multiple Records dks Hold djus ds fy, gesa SqlDataReader Type dk Object Create djuk gksrk gS] ftlesa IDataReader Interface dks Implement fd;k x;k gS lkFk gh bl Class dks DBDataReader ls Inherit Hkh fd;k x;k gSA

Page 100: Ado.ne twith csharpinhindi

98

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

;gka loky ;s gS fd ExecuteReader Method Directly IDataRecord Type dk Collection Return D;ksa ugha djrk cfYd SqlDataReader Type dk Object D;ksa Return djrk gSA ,slk djus ds nks dkj.k gSa%

• igyk dkj.k ;s gS fd SqlDataReader Class, IDataRecords Interface dk Disconnected Cache ugha gSA fQj Hkh ;s gesa ,d Disconnected Cache Return djus dh {kerk Provide djrk gSA ge Database ls tks Request djrs gSa] bl Class dk Default Behavior ml Request ls dqN T;knk Provide djrk gSA ;kuh ;s Object Request Perform gksus ds ckn Hkh Database ls Connected jgrk gS] rkfd SqlCommand Execute gksus ij ;fn dksbZ vkSj Additional Matching Record izkIr gks] rks mls Return dj ldsA

• nwljk dkj.k ;s gS fd SqlDataReader, IDataRecords dh rqyuk esa dgha T;knk Versatile gSA ;s gesa u dsoy Multiple Resultsets Return djus dh lqfo/kk nsrk gS] cfYd BLOB tSls Larger Data Columns ds fy, ;s Sequential Access dks Hkh Support djrk gS vkSj gesa bl izdkj ds Row/Columns ds Data dks Stream ds :i esa On-Demand Read djus dh lqfo/kk Hkh Provide djrk gSA D;ksafd bl izdkj ds Large Amount of Data dks IDataRecords Collection esa igys ls Load djuk dbZ fLFkfr;ksa esa Ideal ugha gksrkA

Common Behavior Parameters of ExecuteReader() Method tSlkfd ge fiNys Code esa ns[k Hkh ldrs gSa fd geus ExecuteReader() Method esa ,d CommandBehavior.CloseConnection Parameter Hkh Pass fd;k gSA tcfd ;fn ge pkgsa rks ExecuteReader() Method dk ,d Overloaded Version Hkh gS] ftls Use djus ij gesa bl Method esa dksbZ Parameter Pass djus dh t:jr ugha jgrhA bl Parameter dks Pass djds ge bl ckr dks Ensure djrs gSa fd tc Underlying Database ij gekjs Command Object esa Specified SQL Statement iwjh rjg ls Execute gks tk,xk] mlds ckn Underlying Data Source ls Connected Connection Close gks tk,xk lkFk gh SqlDataReader Hkh Close gks tk,xkA bl Parameter ds vykok dqN vkSj Common Behavior Options Hkh Available gSa] ftUgsa ExecuteReader() Method esa Specify fd;k tk ldrk gS] tks fd fuEukuqlkj gSa%

Default Parameter ;s Option, Functionally ExecuteReader() Method ds leku gh gksrk gSA

Page 101: Ado.ne twith csharpinhindi

99

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

CloseConnection Parameter tc Command Execution iw.kZ gks pqdk gksrk gS] rc DataReader o Connection nksuksa gh Close gksrs gSaA fQj DataReader.Close Query ds Final Result tSls fd RecroodsAffected vkfn dks Populate djrk gSA blfy, Complicated Queries ds fy, ;s Closing Process Execute gksus esa dqN le; yxrk gSA bl fLFkfr esa bl Parameter dks Use djus ds LFkku ij ge DataReader.Cancel dks Call dj ldrs gSaA

KeyInfo Parameter ;s Parameter DataReader dks bl ckr dk Instruction nsrk gS fd og dsoy Unique Columns o Primary Key dks gh Retrieve djsA

SchemaOnly Parameter ;s Parameter Specify djus ij Data Reader dsoy Underlying Data Source ls Column Information dks gh Return djrk gSA

SequentialAccess Parameter ;s Parameter bl ckr dks Specify djrk gS fd ge Data Reader ds Return gksus okys Data dks Sequentially Read djsaxsA bl Parameter dks ge rc Use djrs gSa] tc gesa BLOB ;k cMs XML Chunks dks Read djuk gksrk gSA fQj Hkh OleDbDataReader gesa DataReader ds Data dks fQj ls Read djus dh lqfo/kk Provide djrk gS] tcfd SqlDataReader ,slk ugha djrkA lkFk gh tc ge bl Parameter dks Specify djrs gSa] rc gesa lHkh Columns dks Sequentially gh Access djuk gksrk gSA

SingleResult Parameter pwafd ge DataReader ds lkFk Batched Query dks Specify djds Multiple Results izkIr dj ldrs gSa vkSj NextResult() Method dk iz;ksx djds vxys Resultset dks Access o Manipulate dj ldrs gSaA ysfdu tc ge bl Parameter dks Specify djrs gSa] rc ge DataReader Object dsoy ,d Single Resultset gh Return djrk gSA

SingleRow Parameter ;s Parameter Specify djus ij gj Resultset ls dsoy ,d gh Row, Frontend dks Fetch gksrk gSA lkFk gh bl Parameter dks Specify djus ij Command Execution :d tkrk gS rFkk SqlDataReader.Close dks Call djus dh ftEesnkjh gekjh gks tkrh gSA

bl izdkj ls tc gesa iwjs Resultset ds lkFk izfØ;k djuh gksrh gS] rc gesa SqlDataReader Object ds lkFk Deal djuk gksrk gS] tks fd ,d vyx izdkj dk Object gSA blfy,

Page 102: Ado.ne twith csharpinhindi

100

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

SqlDataReader ls Return gksus okys Data dks Retrieve djus ds fy, gesa ,d vyx rjhds dks Use djrs gq, fuEukuqlkj Code Segment dk iz;ksx djuk gksrk gS% SqlDataReader allAuthors = testCommand.ExecuteReader(CommandBehavior.CloseConnection); if(allAuthors.HasRows) { while(allAuthors.Read()) { Console.WriteLine("Author: " + allAuthors.GetInt32(0) + allAuthors.GetInt32(1) … … ); } } bl Code esa geus lcls igys ,d if Statement esa Condition ds :i esa DataReader Object dh HasRows Property dks Use fd;k gSA bl Property esa mlh fLFkfr esa dksbZ eku gksrk gS] tcfd DataReader Object esa Command Execute gksus ds ckn dksbZ Appropriate Record ;k Row Exist gksA DataReader Object esa Records Exist gksus dh fLFkfr esa Program Control if Statement Block esa izos”k djrk gS vkSj ,d while() Loop esa Forward Only Fashion esa rc rd DataReader Object ds lHkh Records dks One-by-One Read djrk jgrk gS] tc rd fd DataReader Object ds lHkh Records Read ugha gks tkrsA pwafd DataReader esa Stored lHkh Records esa Record Pointer ;k Cursor gesa”kk igys Record ij Placed gksrk gS] blfy, Row dks Read djus ds fy, gesa DataReader Object ds Read() Method dks Use djuk gksrk gSA lkFk gh bl while Loop esa tc rd Record Pointer fdlh Particular Record dks Point dj jgk gksrk gS] rc rd ge ml Record ds lHkh Columns esa Stored Data dks GetInt32() ;k GetString() Methods dk iz;ksx djds Read dj ldrs gSa] tSlkfd mijksDr Code Segment esa fd;k x;k gSA bl izdkj ls ;fn ge mijksDr Code Segment dks ,d Practical Example Program esa Use djrs gq, bldh Proper Working ns[kuk pkgsa] rks gekjk Program dqN fuEukuqlkj gks ldrk gS%

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

Page 103: Ado.ne twith csharpinhindi

101

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

namespace DBApplication { class Program { static void Main(string[] args) { SqlConnectionStringBuilder sqlConBuilder = new SqlConnectionStringBuilder ("Data Source=.\\SQLSERVEREXPRESS;Initial Catalog=pubs;Integrated Security = true"); SqlConnection testConnection = new SqlConnection(sqlConBuilder.ToString()); SqlCommand testCommand = new SqlCommand ("SELECT * FROM authors", testConnection); using (testConnection) { testConnection.Open(); SqlDataReader allAuthors = testCommand.ExecuteReader(CommandBehavior.CloseConnection); if(allAuthors.HasRows) { Console.WriteLine("Author ID\tAuthor Name\t\t\tPhone"); while(allAuthors.Read()) { Console.WriteLine( allAuthors.GetString(0) + "\t" + allAuthors.GetString(1) + " " + allAuthors.GetString(2) + "\t\t\t" + allAuthors.GetString(3)); } } } } } } tc ge bl Program dks Run djrs gSa rks gesa fuEukuqlkj Output izkIr gksrk gS%

Page 104: Ado.ne twith csharpinhindi

102

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

bl Program dh ,d eq[; :i ls /;ku j[kus okyh ckr ;s gS fd tc ge fdlh DataReader Object ls Retrieve gksus okys Data dks Console.WriteLine() ;k Console.Write() Method }kjk Display djrs gSa] rc lHkh Columns ds ekuksa dks String Format esa gh izkIr djuk t:jh gksrk gS] D;ksafd ;s nksuksa Methods dsoy String Data dks gh Console esa Display djrs gSaA blhfy, geus bl Program esa Console.WriteLine() Method dks fuEukuqlkj Use fd;k gS ftlesa Read fd, tkus okys Column ds Data dks GetString() Method dk iz;ksx djrs gq, String Format esa Read fd;k gS% Console.WriteLine( allAuthors.GetString(0) + "\t" + allAuthors.GetString(1) + " " + allAuthors.GetString(2) + "\t\t\t" + allAuthors.GetString(3)); tcfd ;fn gesa fdlh Column ds Data ds lkFk fdlh izdkj dk Calculation Perform djuk gks] rks ge fdlh vU; izdkj ds Get Method tSls fd GetInt32(), GetFloat() vkfn Methods dks Use dj ldrs gSaA lkFk gh DataReader dks Use djrs le; gesa bl ckr dk Hkh /;ku j[kuk gksrk gS fd DataReader ,d Read-Only / Forward-Only Method gS] blfy, bl Object dks Use djus ij ge fdlh Hkh rjhds ls Backward Data dks Retrieve ugha dj ldrsA ge SqlDataReader esa fdlh cMs Resultset dks Test djus ds fy, Use dj ldrs gSaA ,sls esa ;fn ge DataReader ls fdlh Record dks Read djus ds ckn ,d Breakpoint Set dj nsa vkSj Underlying SQL Server dks Stop dj nsa vkSj fQj mlh Breakpoint ls DataReader dks vkxs Iterate djsa] rks SQL Server Stop gksus ds ckn Hkh ;s Object Database ls Data dks Retrieve djrk jgrk gSA

Page 105: Ado.ne twith csharpinhindi

103

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

,slk blfy, gksrk gS D;ksafd DataReader Object ,d izdkj ls Double Sided Pipe dh rjg gksrk gS] ftldk ,d fljk Database ls Connected jgrk gS] tcfd nwljk fljk gekjs Frontend Application lsA blfy, ;fn Database ds fljs dks ;kuh Database Server dks FkksMh nsj ds fy, Off Hkh dj fn;k tk,] rc Hkh Application ds fljs ij Data Continually vkrk jgrk gSA tcfd ;fn ge ,d gh ckj esa gtkjksa Records dks Retrieve dj jgs gksa vkSj bl fLFkfr esa SQL Server dks Off dj fn;k tk,] rks ml fLFkfr esa Frontend ,d Exception Generate djrk gS] tks blh ckr dk Signal gS fd mldk Connection Underlying Database ls Disconnected gSA vr% tc ge Underlying Database ls ,d ckj esa dsoy ,d gh Record dks Retrieve dj jgs gksrs gSa] rks ml Database ds lkFk Connection rc rd Open jgrk gS tc rd fd Database Accessing Logic Run gks jgk gksrk gS lkFk gh ml le; Hkh Open jgrk gS tcfd Frontend ml Logic ds Run gksrs le; Result Retrieve dj jgk gksrk gSA tcfd Logic Execute gksus esa Result Retrieve gksus dh rqyuk esa dkQh de le; yxrk gSA ;kuh Database ij Logic ds Run gksrs gh Result Generate gksuk “kq: gks tkrk gS vkSj Frontend esa Result vkuk Hkh “kq: gks tkrk gSA ysfdu Network dh Speed de gksus dh otg ls Database ij Logic ds iwjh rjg ls Execute gksdj iwjk Result Generate dj nsus ds ckn Hkh] tc rd og lkjk Resultset Frontend dks izkIr ugha gks tkrk] rc rd Database ij Connection Open jgrk gSA

Querying Resultset for Storage tSlkfd geus fiNys Discussion esa le>k gS fd Database ij Connection ftruh T;knk nsj rd Open jgrk gS] Database dh Connection Pooling Performance mruh gh T;knk izHkkfor gksrh gSA blfy, bl fLFkfr esa gesa ,d ,sls Disconnected Cache Object dh t:jr gksrh gS] tks Database ls Generate gksus okys gj Record dks Represent djs vkSj bl t:jr dks IDataRecords Collection }kjk iwjk fd;k tkrk gSA bl IDataRecords Type dk Collection ml fLFkfr esa dkQh mi;ksxh lkfcr gksrk gS] tcfd ge bl Collected Resultset dks fdlh GUI Data-Binding Control esa Pass djuk pkgrs gSa ;k fdlh vU; izdkj dh Data Processing djuk pkgrs gSa] ftlesa gesa lHkh Records dks ,d lkFk Access o Manipulate djuk gksrk gSA ;s Collection ml le; Hkh dkQh mi;ksxh lkfcr gksrk gS] tc ge Database ls Returned Resultset dks ftruk T;knk rsth ls lEHko gks lds] mruk T;knk rsth ls Read djuk gksrk gSA blhfy, ge DataReader Object dks Use djrs gSaA ysfdu Resultset ij gesa tks Processing Perform djuh gS] mlesa ;fn dkQh T;knk le; yxus okyk gks] rks ml iwjs le; ds nkSjku Database ij Connection Open jgrk gS] ftlls Database dh Performance izHkkfor gksrh gSA

Page 106: Ado.ne twith csharpinhindi

104

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

vr% DataReader dk iz;ksx djds ge bl izdkj ds Resultset dks rks Frontend esa Process dj ldrs gSa] ysfdu gesa ,d ,sls rjhds dh Hkh t:jr gksrh gS fd tc DataReader esa lkjk Result iwjh rjg ls Fill gks tk,] rks Connection dks Close fd;k tk lds] rkfd mls fdlh vU; User dh Request dks iwjk djus ds fy, Reuse fd;k tk lds] tcfd DataReader Object }kjk Slow Network Speed esa Hkh Frontend esa Resultset Serve gksrk jgsA ;kuh ftl nkSjku DataReader Underlying Database ls Returned lHkh Records ls Fill gks pqdk gksrk gS] mlh nkSjku Frontend dks Hkh Resultset Transfer gks jgk gksrk gS ysfdu tSls gh DataReader iwjh rjg ls Fill gks tkrk gS] Underlying Database ds lkFk Established Connection dks Close dj fn;k tkuk pkfg,] rkfd tc rd Frontend Application, DataReader Object ls Data dks Network dh Slow Speed ds dkj.k /khjs&/khjs Retrieve dj jgk gks] ml nkSjku Database ij Connection Open u jgsA blfy, gesa DataReader ds Resultset ds lkjs Records dks rsth ls Iterate djrs gq, Further Processing ds fy, Store djus gsrq ,d csgrj rjhds dh t:jr gksrh gS] rkfd Underlying Connection dks ftruk tYnh gks lds mruk tYnh Close fd;k tk ldsA bl t:jr dks iwjk djus ds fy, SqlDataReader Class gesa GetEnumerator uke dk ,d Method Provide djrk gS ftldk iz;ksx djds ge foreach Construct dks Use dj ldrs gSaA foreach Construct esa Enumerator fdlh Collection esa Exist fofHkUu Objects dks Sequentially Return djrk gSA ;kuh ;fn ge bl Method dks vius SqlDataReader Object ds lkFk Use djsa] rks ;s Enumerator gesa DataReader Object esa Stored fofHkUu Records dks One-by-One DbDataRecords Object ds :i esa Return djrk gSA bl izfØ;k dks T;knk csgrj rjhds ls le>us ds fy, ge vxzkuqlkj ,d Practical GUI Example Program Create dj ldrs gSa] ftlesa Form ij ,d DataGrid Control Exist gS] ftlesa ge DataReader esa Stored fofHkUu Records dks Display djuk pkgrs gSaA pwafd ge ,d Window Based GUI Program Create djuk pkgrs gSa] blfy, lcls igys gesa Visual Studio ds FILE Menu => New => Project… Option dks Click djuk gksrk gSA bl Menu Option dks Click djrs gh gekjs lekus fuEukuqlkj ,d “New Project” Dialog Box Display gksrk gS%

Page 107: Ado.ne twith csharpinhindi

105

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

mijksDr fp= esa n”kkZ, vuqlkj “Visual C#” Template ds vUrxZr fn[kkbZ nsus okys fofHkUu izdkj ds Projects esa ls gesa “Windows Forms Application” dks Select djds mldk Name, Location vkfn Specify djuk gksrk gS vkSj lkjh Information Specify djus ds ckn gesa OK Button ij Click djuk gksrk gSA tSls gh ge OK Button ij Click djrs gSa] ,d u;k Windows Form Project Create gks tkrk gS vkSj gekjs lkeus fuEu fp=kuqlkj ,d Form Display gksus yxrk gS%

Page 108: Ado.ne twith csharpinhindi

106

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

tSlkfd ge ns[k ldrs gSa fd ;s Form Exactly Visual Basic ds leku gh fn[kkbZ ns jgk gS vkSj Visual Basic ds leku gh ge bl Form dh Hkh fofHkUu t:jh Properties dks Set dj ldrs gSa] ftuesa ls Text Property o Name Property lcls egRoiw.kZ Properties gksrh gSaA D;ksafd Text Property esa ge tks String Specify djrs gSa] og String bl Form ds Title Bar ij Display gksrh gS] tcfd Name Property esa Specify fd;k x;k String, Application ds Code Window esa Form dks Identify djus ds fy, Use fd;k tkrk gSA bu nksuksa Properties ds vykok vkSj Hkh cgqr lkjh Properties gksrh gSa] ftUgsa ge gekjh t:jr ds vuqlkj Design Time ;k Runtime esa Set dj ldrs gSaA pwafd ge ,d DataGrid Control esa Backend Database ls vkus okys Data dks Display djuk pkgrs gSa] blfy, vc gesa gekjh t:jr ds vuqlkj bl Form dks Design djuk gksrk gS vkSj fofHkUu izdkj ds lHkh t:jh Controls dks Form ij Place djus ds lkFk gh mudh lHkh t:jh Properties dks Set djuk gksrk gSA viuh t:jr ds vuqlkj ge gekjs Form dks dqN fuEukuqlkj Design dj ldrs gSa] ftl ij ,d DataGrid Control o nks Command Buttons Exist gSa%

pwafd “Windows Forms Application” iwjh rjg ls Visual Basic dh rjg gh dke djrk gS] vUrj dsoy bruk gS fd gesa Visual Basic ds LFkku ij C# Programming Language ds Code Syntaxes dks Use djuk gksrk gS] blfy, lcls igys ge bl Form ij fLFkr Exit Button dh Coding fy[ksaxs] rkfd ge gekjs Application ds bl Form ls Exit dj ldsa vkSj Exit Button dk Code fy[kus ds fy, gesa bl Form ij fn[kkbZ ns jgs “Exit” Button dks Double Click djuk gksrk gSA tSls gh ge bl Button ij Double Click djrs gSa] gekjs lekus fuEukuqlkj Code Window Open gks tkrk gS] ftlesa dqN Code igys ls fy[ks gksrs gSaA tgka ij gekjk Cursor Blink djrk gS] ogha ij gesa gekjs “Exit” Button ds fy, Code fy[kuk gksrk gSA ;kuh gekjs Exit Button dk Code Procedure dqN fuEukuqlkj gksrk gS%

private void cmdExit_Click(object sender, EventArgs e) { this.Close();

Page 109: Ado.ne twith csharpinhindi

107

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

} bl Code Procedure dks ge Event Handler Hkh dg ldrs gSaA bl Event Handler esa cmdExit gekjs Exit Button dk uke gS] ftls geus Visual Studio ds Properties Window esa Set fd;k gS] tcfd Click og Event gS] ftlds Fire gksus ij ;s Procedure Execute gksxkA ;kuh ge tSls gh bl Form ij fn[kkbZ nsus okys “Exit” Button ij Click djsaxs] mijksDr Code Execute gksxk vkSj Current Form dks Close dj nsxkA Bhd blh rjg ls gesa gekjs “Populate” Button dh Coding fy[kus ds fy, Hkh bl Button dks Double Click djuk gksrk gSA tSls gh ge bl Button dks Double Click djrs gSa] ge fQj ls Visual Studio ds Code Window esa igqap tkrs gSa] tgka fuEukuqlkj ,d u;k Event Handler Create gks tkrk gS%

private void btnPopulate_Click(object sender, EventArgs e) { } bl Event Handler esa cmdPopulate gekjs Form ij fn[kkbZ nsus okys Populate Button dk uke gS] ftls geus Visual Studio ds Properties Window esa Set fd;k gS] tcfd Click og Event gS] ftlds Fire gksus ij ;s Procedure Execute gksxkA ;kuh ge tSls gh bl Form ij fn[kkbZ nsus okys “Populate” Button ij Click djsaxs] mijksDr Event Handler Execute gksxk vkSj mlesa fy[ks x, lkjs Codes viuk dke djsaxsA bl Populate Button ds Event Handler esa gh gesa og Code fy[kuk gksrk gS] tks DataReader Object esa Stored lHkh Records dks One-by-One Form ij fLFkr DataGrid Control esa Fill djrk gSaA DataGrid Control esa Underlying Data Source ls Return gksus okys Data dks Fill djus ds fy, ge bl Event Handler dks fuEukuqlkj Specify dj ldrs gSa% private void btnPopulate_Click(object sender, EventArgs e) { SqlConnectionStringBuilder sqlConBuilder = new SqlConnectionStringBuilder( "Data Source=.\\SQLSERVEREXPRESS;Initial Catalog=pubs;Integrated Security = true"); SqlConnection testConnection = new SqlConnection(sqlConBuilder.ToString()); SqlCommand testCommand = new SqlCommand ("SELECT * FROM authors", testConnection); using (testConnection) { testConnection.Open(); SqlDataReader allAuthors = testCommand.ExecuteReader(CommandBehavior.CloseConnection); ArrayList dbRecordsHolder = new ArrayList();

Page 110: Ado.ne twith csharpinhindi

108

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

if (allAuthors.HasRows) { foreach (DbDataRecord record in allAuthors) { dbRecordsHolder.Add(record); // dbRecordsHolder is an ArrayList } } dgAllRecords.DataSource = dbRecordsHolder; } // testConnection.Dispose() called automatically. } tSlkfd ge bl Event Handler dks ns[kdj le> ldrs gSa fd blesa fy[kk x;k Code yxHkx fiNys Program ds Code tSlk gh gSA vUrj dsoy bl Event Handler esa Specify fd, x, if Statement Block ds Code esa gh gSA tc ge gekjs Form ij fn[kkbZ nsus okys “Populate” Button ij Click djrs gSa] rc ;s Event Handler Execute gksrk gSA Execute gksrs gh lcls igys ;s Event Handler Underlying Data Source ds lkFk Connection Open() djrk gS vkSj fQj ml Open fd, x, Connection ij ExecuteReader() Method ds ek/;e ls Command Object esa Specified SQL Query Fire djrk gSA ifj.kkeLo:i pubs uke ds Database dh authors uke dh Table ds lkjs Records Return gksrs gSa] ftUgsa SqlDataReader Type ds allAuthors uke ds ,d Object esa Store fd;k tkrk gSA fQj dbRecordsHolder uke dk ,d ArrayList Type dk Object Create fd;k tkrk gS] tks fd ,d izdkj dk Collection Object gksrk gSA fQj ,d if Statement esa bl ckr dks Check fd;k tkrk gS fd allAuthors uke ds DataReader Object esa dksbZ Record Exist gS ;k ughaA pwafd authors Table esa Records gSa] blfy, Connection ds Normal rjhds ls Open gksus o Command ds Normal rjhds ls Execute gksus dh fLFkfr esa bl Object esa lHkh Authors dh Information Rows ds :i esa Stored gksrh gSA ifj.kkeLo:i if Condition True gksus dh otg ls Program Control if Statement Block esa Enter djrk gSA pwafd DataReader Object esa Stored lHkh Records dks tc foreach ds ek/;e ls Enumerate fd;k tkrk gS] rc ;s Object lHkh Records dks One-by-One ,d DbDataRecords Type ds Object ds :i esa Return djrk gSA bl Return gksus okys DbDataRecord Type ds Object dks dbRecordsHolder uke ds ArrayList Object esa Store djus ds fy, Add() Method dk iz;ksx fd;k tkrk gSA ifj.kkeLo:i Underlying Data Source ls Returned lHkh Records, tks fd DataReader Object esa Stored gksrs gSa] One-by-One dbRecordsHolder esa Store gks tkrs gSa] ftls vUr esa

Page 111: Ado.ne twith csharpinhindi

109

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

fuEu Statement dk iz;ksx djds gekjs Form ij fLFkfr DataGrid Control dh DataSource Property esa Specify djrs gSa% dgAllRecords.DataSource = dbRecordsHolder; bl Statement ds Execute gksrs gh gesa gekjk Resultant Form dqN fuEukuqlkj fn[kkbZ nsus yxrk gS%

;gka ,d vkSj /;ku j[kus okyh ckr ;s gS fd gkykafd tc ge Windows Forms Application Create djrs gSa] rc gesa ArrayList tSlk Object Create djus dh t:jr iMrh gS] ftls DataGrid Control dh DataSource Property esa Assign djds DataReader Object ds Data dks Access fd;k tkrk gSA ysfdu tc ge ASP.NET Application Create djrs gSa] rc ge DataGrid Control dks lh/ks gh DataReader Object Assign dj ldrs gSaA ;kuh gesa vyx ls ArrayList Collection Type dk Object Create djus dh t:jr ugha jgrhA bl izdkj ls ;fn ge gekjs fiNys Windows Forms Based GUI Database Application Program ds iwjs Source Code dks Specify djsa] rks ;s Code dqN fuEukuqlkj gksxk% using System; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Collections; using System.Data.Common; using System.Data.SqlClient; namespace DBGUIApplication

Page 112: Ado.ne twith csharpinhindi

110

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

{ public partial class frmDataGrid : Form { public frmDataGrid() { InitializeComponent(); } private void cmdExit_Click(object sender, EventArgs e) { this.Close(); } private void btnPopulate_Click(object sender, EventArgs e) { SqlConnectionStringBuilder sqlConBuilder = new SqlConnectionStringBuilder( "Data Source=.\\SQLSERVEREXPRESS;Initial Catalog=pubs;Integrated Security = true"); SqlConnection testConnection = new SqlConnection(sqlConBuilder.ToString()); SqlCommand testCommand = new SqlCommand ("SELECT * FROM authors", testConnection); using (testConnection) { testConnection.Open(); SqlDataReader allAuthors = testCommand.ExecuteReader(CommandBehavior.CloseConnection); ArrayList dbRecordsHolder = new ArrayList(); if (allAuthors.HasRows) { foreach (DbDataRecord record in allAuthors) { dbRecordsHolder.Add(record); // dbRecordsHolder is an ArrayList } } dgAllRecords.DataSource = dbRecordsHolder; } // testConnection.Dispose() called automatically. } } } tc ge mijksDrkuqlkj Window Form Create djrs gSa] rc ,d ckr gesa vkSj /;ku j[kuh gksrh gS fd Visual Studio lHkh t:jh Namespaces dks Windows Forms ds Code Window esa

Page 113: Ado.ne twith csharpinhindi

111

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Embed ugha djrkA blfy, tc ge mijksDr Program Create djrs gSa] rc gesa fuEukuqlkj rhu Namespaces dks Manually Specify djuk t:jh gksrk gS% using System.Collections; using System.Data.Common; using System.Data.SqlClient; tgka igyk Namespace Specify u djus ij ge ArrayList Type dk dbRecordsHolder Object Create ugha dj ldrsA tcfd nwljk Namespace Specify u djus ij ge DbDataRecord Type dk record Object Create ugha dj ldrs vkSj rhljk Namespace Specify u djus ij ge SQL Server Database ij Connection, ConnectionString o Command tSls Objects Create ugha dj ldrs] tks fd Underlying Database Connection Open djus o Data Retrieve djus ds fy, ftEesnkj gksrs gSaA lkFk gh geus bl Program esa Dispose() Method dks Hkh Use ugha fd;k gS] D;ksafd geus gekjs Codes dks using Block esa fy[kk gS] tks fd lHkh Unmanaged Resources dks Lo;a gh vius Lrj ij Collect djrk jgrk gS] D;ksafd Dispose() Method dks Connection Object ds fy, Internally Call fd;k tkrk gSA blfy, tc mijksDr Program Run gksrk gS rc gekjs DataReader Object dk lkjk Data ArrayList Object esa Store gks tkrk gS] tks fd Underlying Database ls iwjh rjg ls Disconnected gSA blfy, tc ge DataReader ds Data dks DataGridView ls Bind dj jgs gksrs gSa] rks okLro esa ge gekjs Database ls Disconnect gksrs gSa vkSj gekjk Data okLro esa ArrayList Type ds dbRecordsHolder Object ls vk jgk gksrk gSA bl rjhds dk lcls cMk Qk;nk ;gh gS fd ,d ckj bl izdkj ls DataGrid Control esa lkjk Data Load gks tkus ds ckn ;kuh lkjk Data ArrayList Object esa Store gks tkus ds ckn gesa gekjs SqlConnection dks Open j[kuk t:jh ugha gksrk] tcfd gekjk Frontend User Interface, Slow Network dh otg ls DataReader ds Data dks ArrayList Collection ds ek/;e ls /kheh xfr ls DataGrid Control esa Load dj jgk gks ldrk gSA D;ksafd gekjs lkjs Data dh ,d Copy gekjs ikl ,d ArrayList Collection ds :i esa miyC/k jgrk gSA mijksDrkuqlkj rjhds ls Program Create djds ge SqlConnection dks ftruk gks lds mruk de le; ds fy, Open j[krs gSaA ;kuh gekjk Connection dsoy rHkh rd Open jgrk gS] tc rd fd Underlying DataSource ls vkus okyk Data, ArrayList Object esa iwjh rjg ls Load ugha gks tkrkA ifj.kkeLo:i gesa dkQh T;knk csgrj Connection Pooling Performance izkIr gks tkrk gSA DataGridView Control esa tks Records fn[kkbZ nsrs gSa] ;fn ge mu Records dks Edit djus dh dksf”k”k djsa] rks ge mUgsa Edit ugha dj ldrsA ;s Control Data dks dsoy Read-Only Format esa gh Display djrk gS D;ksafd ;s Disconnected ArrayList Object ls Populate gqvk gS vkSj Disconnected Object esa ;fn dksbZ Change fd;k tk,] rks mldk Effect Underlying Data Source ij ugha iMrkA

Page 114: Ado.ne twith csharpinhindi

112

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

Executing Command Asynchronously fiNys Section esa Discuss fd, x, Program esa ,d vkSj le>us okyh ckr ;s gS fd tc rd ArrayList Object iwjh rjg ls DataReader Object esa Stored Data ls Fill ugha gks tkrk] ;kuh tc rd foreach Loop iwjh rjg ls Execute ugha gks tkrk] rc rd fuEu Code Run ugha gksrk% dgAllRecords.DataSource = dbRecordsHolder; vkSj tc rd ;s Code Run ugha gksrk] rc rd DataGridView Control esa dksbZ Record Display ugha gksrkA pwafd gekjs bl mnkgj.k esa Records dh la[;k dqy 23 gS] blfy, gekjs DataGridView Control esa Display gksus okyk Data 1 – 2 Seconds dh vof/k esa Populate gks tkrk gSA ysfdu ;fn Underlying Data Source ls Return gksus okys Records dh la[;k gtkjksa esa gks] rks bl DataGridView Object esa Records Populate gksus esa cgqr gh T;knk le; yxsxkA ifj.kkeLo:i tc rd lkjk Data ArrayList Object esa Fill ugha gks tk,xk] rc rd gekjk Form ,d izdkj ls Hanged fLFkfr esa Freeze gks tk,xk vkSj gekjk Program Use djus okys User dks yxsxk fd gekjk Program dke gh ugha dj jgk gSA bl izdkj dh fLFkfr iSnk u gks] blds fy, SqlCommand dks lkekU;r% Asynchronously Execute fd;k tkrk gS vkSj fdlh Time Consuming Task dks Asynchronously Perform djus ds fy, .NET 2.0 esa Begin(), End() o IAsyncResult tSls dqN u, Methods o Types dks Introduce fd;k x;k gSA tc gekjs Command Object ds Execute gksus ij Underlying Database ls cgqr T;knk Records Return gksrs gSa vkSj ge bu Records ds ArrayList Object esa Populate gksrs le; vius Application dks Block gksus ls jksduk pkgrs gSa] rc bl izdkj ds Blocking Codes dks Execute djus ds fy, gesa SqlCommand Object ds BeginExecuteReader() Method dks Use djuk gksrk gS vkSj blesa ,d Callback Method rFkk Command Object dks Parameter dh rjg Pass djuk gksrk gSA bl Asynchronous Calling Procedure dks ge fuEukuqlkj Code }kjk T;knk csgrj rjhds ls le> ldrs gSa% AsyncCallback callback = new AsyncCallback(DataReaderIsReady); IAsyncResult asyncResult = testCommand.BeginExecuteReader(callback, testCommand) ;fn ge bl Code dks vius fiNys Example Program ds lUnHkZ esa le>sa] rks bl Code dks gesa ExecuteReader() Method ds LFkku ij Replacement ds :i esa Use djuk gksrk gSA bl rjhds dk lcls eq[; Qk;nk ;s gksrk gS fd BeginExecuteReader() Method ,d Non-Blocking Method gSA ;kuh ftl le; DataReader Object ls ArrayList Object esa Data Populating dk Task Perform gks jgk gksrk gS] ml le; Program Control fQj ls Main() Thread dks Return gks

Page 115: Ado.ne twith csharpinhindi

113

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

tkrk gSA ftldh otg ls ;fn GUI Application ij User fdlh vU; t:jr dks iwjk djus ds fy, Application ds vU; fdlh fgLls dks Access djuk pkgs] rks og ,slk dj ldrk gS] tcfd Data Populating dk Task Background esa Internally Perform gks jgk gksrk gSA bl AsyncCallback Constructor esa geus DataReaderIsReady() eku dks Parameter ds :i esa Pass fd;k gS] tks fd og Callback Method gS tks ml le; Call gksrk gS] tc BeginExecuteReader() Method iwjh rjg ls Execute gks pqdk gksrk gSA tcfd bl Method dks ge fuEukuqlkj rjhds ls Define dj ldrs gSa% private void DataReaderIsReady(IAsyncResult result) { MessageBox.Show("Results Loading in ArrayList Object Completed."); SqlCommand testCommand = (SqlCommand)result.AsyncState; SqlDataReader allAuthors = testCommand.EndExecuteReader(result); if(allAuthors.HasRows) { foreach( DbDataRecord record in allAuthors) { dbRecordsHolder.Add(record); } } allAuthors.Close(); } ;s Method rc Execute gksrk gS] tc testCommand.BeginExecuteReader() Method iwjh rjg ls Execute gks pqdk gksrk gSA tc ge BeginExecuteReader() Method dks Call djrs gq, Data Reading dks Start djrs gSa] rc mlh le; ge bl Callback Method dks mlesa Parameter dh rjg Pass djrs gSa] ftls IAsyncResult.AsyncState Property ds ek/;e ls Retrieve fd;k tk ldrk gSA tc ,d ckj gesa SqlCommand Object fQj ls izkIr gks tkrk gS] rc ge EndExecuteReader() Method dks Execute djds Prepared SqlDataReader Object dks izkIr dj ldrs gSaA bruk gksus ds ckn ge bl SqlDataReader Object dks Bhd mlh rjg ls Use dj ldrs gSa] ftl rjg ls fiNys Program esa Use fd;k FkkA vUrj dsoy bruk gksrk gS fd ftl le; SQL Server ;kuh gekjk Underlying Data Server, gekjs Command Object esa Embedded Query dks Execute djus rFkk Return fd, tkus okys Resultset dks rS;kj djus esa Busy gksrk gS] ml le; gekjk Frontend Application, SQL Server ls Data dks Retrieve djus ds fy, Bind ugha gksrkA cfYd .NET Framework mls bl ckr dh Information nsrk gS fd SQL Server us viuk Result Send djus ds fy, rS;kj gS ;k ughaA

Page 116: Ado.ne twith csharpinhindi

114

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

pwafd gekjk mijksDr Code fdlh ,d Single Method rd lhfer ugha gksrk] blfy, ge gekjs Code dks using Block dk iz;ksx djrs gq, Specify ugha dj ldrsA ftldk ifj.kke ;s gksrk gS fd gesa lHkh izdkj ds Cleanup Task Lo;a Perform djus iMrs gSaA ;kuh gesa gekjs Command Object dks Lo;a gh Close djuk gksrk gSA bruk djus ds lkFk gh tc ge Asynchronous rjhds ls Execute gksus okyk Command Object Create djrs gSa] rc gesa Specify fd, tkus okys Connection String esa Hkh fuEukuqlkj Asynchronous Processing Parameter dks true Set djuk t:jh gksrk gS%

SqlConnectionStringBuilder sqlConBuilder = new SqlConnectionStringBuilder( "Data Source=.\\SQLSERVEREXPRESS; Initial Catalog=pubs; Integrated Security = true; Asynchronous Processing=true");

Page 117: Ado.ne twith csharpinhindi

115

www.BccFalna.com

ADO.NET wiTh C# iN hiNDi

wOrkiNg wiTh

CONNECTED lAyEr

Page 118: Ado.ne twith csharpinhindi

1

How to Buy from BccFalna.com इस Website पर उपलब सभी Saleable Hindi EBooks के साथ “ADD TO CART” नाम का एक Button

Attached है। आप जो भी पुस क खर�दना चाह ेह�, उसके साथ Associated ADD TO CART Button को Click

कर े ह� वह पुस क आपके Shopping Cart म� Add हो जा ी है:

य�द आप अपने Shopping Cart म� कई पुस क� Add कर े ह�, ो Extra Discount पार हो ा है, जो �क

Discount Amount व Discount Amount घटाने के बाद सभी पुस क� के Total Payable Amount के रप म� इसी My Shopping Cart म� उपरोक �चतानुसार �दखाई दे ा है।

सभी वां�छ पुस क� अपने Shopping Cart म� Add करने के बाद अपना Order Place करने हे ु Checkout Button को Click करना हो ा है। प�रणामस वरप �नम नानुसार Checkout Page Display हो ा है, जहां आपको अपनी Billing Details को Specify करके अपना Payment Mode Select करना हो ा है:

Page 119: Ado.ne twith csharpinhindi

2

य�द आप इन पुस क� को खर�दने के �लए Total Payable Amount का भुग ान अपन ेDebit Card (ATM,

Credit Card), Cash Card अथवा Net Banking) दवारा घर बैैे करना चाह ेह�, ो आपको Online Payment Option Select करना हो ा है।

ले�कन य�द आपके पास �कसी पकार का CCAvenue Supported Debit Card (ATM, Credit Card) या Cash

Card नह�ं है, न ह� आपके पास �कसी Bank क� Internet या Mobile Banking सु�व ा है, ो उस िसथ� म� अपना Offline Order Place करने के �लए Offline Manual Payment Option को Select कर सक े ह�।

Page 120: Ado.ne twith csharpinhindi

3

Online Payment using CCAvenue

जब आप Online Payment Option को Select कर े हुए “Place order” Button पर Click कर े ह�, ो आपके

सामन े�नम नानुसार Page Display हो ा है:

अपनी सु�व ा अपन ेDebit Card (ATM, Credit Card), Net Banking, Cash Card या Mobile Payments

Option को Select क�िजए और उपरोक �चत म� द ाशए अनुसार सभी जरर� Payment Information को Fill

करके Make Payment Button पर Click क�िजए था आगे आने वाले Payment Security से सम बं� Step

(Login/Password/Pin) Follow क�िजए, ा�क आपका Total Payable Amount आपके Bank A/c से हमारे Bank

A/c म� Transfer हो सके।

Page 121: Ado.ne twith csharpinhindi

4

आपका Payment Transfer हो े ह� आप �नम न �चतानुसार My Account Page पर पहंुच जा े ह�, जहां पर आप

दवारा Order क� गई सभी पुस क� के Download Links हो ेह�, साथ ह� आपको Automatically एक Email भी Send कर �दया जा ा है, िजसम� आप दवारा खर�द� गई पुस क� के Download Links हो े ह�:

Page 122: Ado.ne twith csharpinhindi

5

Offline Payment using Manual Ways

जब आप Offline Manual Payment Option को Select कर ेहुए “Place order” Button पर Click कर े ह�, ो Click कर े ह� आपका Order Place हो जा ा है और आपके सामने �नम नानुसार Page Display हो ा है:

ये Webpage आप दवारा Place �कए गए Order क� Information के साथ ह� Order क� गई पुस क� के

Download Links पार करने के �लए Follow �कए जाने वाले अगले Step क� जानकार� भी दे ा है, साथ ह� इस Page पर �दखाई देन ेवाल� सार� Information आपको आपके Email पर भी Send कर द� जा ी है, िजन ह� Follow कर े हुए आप अपन ेTotal Payable Amount का Offline Manual Payment करके अपनी Order क� गई पुस क� के Download Links पार कर सक े ह�।

जब आप इस Offline Manual Payment Option को Select कर े हुए Order Place कर े ह�, ो आपका Order

ब क On-Hold Status म� रह ा है, जब क �क आप Offline Manual Payment Page पर Specified �कसी भी र�के का पयोग कर े हुए अपना Total Payable Amount, हमारे Bank A/c म� Transfer/Deposit नह�ं कर दे े।

अपना Total Payable Amount हमारे Bank A/c म� Transfer/Deposit करने के बाद आपको हमारे Mobile No.:

097994-55505 पर Call/Miss Call करके अपन ेPayment Transfer/Deposit करने से सम बं� जानकार� देनी हो ी है। जैसे ह� आपका Call/Miss Call हम� पार हो ा है, हम अपना Bank A/c Check कर े ह� और जैसे ह� आपका Payment हमारे Bank A/c म� Transfer/Deposit हो ा है, हम आप दवारा Order क� गई पुस क� का Download Link Manually Activate कर दे े ह�।

Page 123: Ado.ne twith csharpinhindi

6

प�रणामस वरप आपको Automatically एक EMail पार हो ा है, िजसम� आप दवारा Order क� गई सभी पुस क� के Download Links हो ेह�, िजन ह� आप अगले 48 घण ट� के दौरान Download कर सक ेह�। साथ ह� आपके

Download Links के Activate होने क� Information हम आपको Call/SMS के माध यम से भी दे े ह�।

जब�क अपने Order क� Current Status देखने के �लए आप Website के Menubar म� �दखाई देने वाले My

Account Menu Option पर Click कर सक े ह�, जहां आपके Order क� Current Status Information �नम न

�चतानुसार �दखाई दे ी है:

चंू�क ये सारा Process हम� व आपको Manually Follow करना हो ा है, इस�लए इस Offline Manual Payment

दवारा Order करने क� िसथ� म� पुस क� का Download Link पार होने म� 5 से 10 �मनट का समय लग ा है।

एक बार Download Link Activate हो जाने के बाद आप अपनी खर�द� गई पुस क� को अपन ेMy Account Page से भी Download कर सक े ह�, जहां Download Link Activate होने के बाद आपको अपना My Account

Page �नम न �चतानुसार �दखाई देने लग ा है:

Page 124: Ado.ne twith csharpinhindi

7

इसके अलावा �कसी Particular Order क� Details पार करन ेके �लए आप इस My Account Page पर �दखाई देने वाले View Button को भी Click कर सक ेह�।

Page 125: Ado.ne twith csharpinhindi

8

Offline Manual Methods to Pay “Total Payable Amount” viuk Total Payable Amount Pay djus ds fy, vki viuh lqfo/kkuqlkj fuEu esa ls fdlh Hkh rjhds dks Use dj ldrs gSa%

Fund Transfer Using ATM Machine orZeku le; esa yxHkx lHkh Banks viuh ATM Machine }kjk Fund Transfer djus dh lqfo/kk Provide djrs gSa] tgka vki vius ATM Card }kjk gekjs fdlh Hkh Bank Account esa viuh iqLrdksa dk Total Payable Amount Transfer dj ldrs gSaA vr% ;fn vkids ikl fuEu esa ls fdlh Hkh State Bank dk Debit Card gS%

• SBI (State Bank of India) • SBBJ (State Bank of Bikaner and Jaipur) • SBH (State Bank of Bikaner and Hyderabad) • SBP (State Bank of Bikaner and Patiala) • SBM (State Bank of Mysore) • SBT (State Bank of Travancore)

vFkok PNB (Punjab National Bank) ;k BOB (Bank of Baroda) dk Debit Card gS] rks vki SBI/PNB/BOB ds ATM Machine ls Hkh viuk Payment gekjs SBI/PNB/BOB Bank A/c esa Transfer dj ldrs gSaA ;fn vki SBI ATM Machine ls gekjs SBI Bank A/c esa Payment Transfer djuk pkgrs gSa] rks vkidks fuEu Steps dks Follow djuk gksrk gS% SBI ATM Machine esa viuk Debit Card, Swipe dhft,A ATM Screen ds Bottom Right Corner esa fn[kkbZ nsus okys Transfer uke ds Option dks

Select dhft,A vius Debit Card dk PIN Number Enter dhft,A vc Card to Card Transfer uke ds Option dks Select dhft,A vc gekjs SBI Debit Card Number (6220180786800030243) dks Enter dhft,A vc gekjs SBI Debit Card Number (6220180786800030243) dks nksckjk Enter dhft,A vc Transferable Amount ds :i esa Total Payable Amount Specify dhft,A vc vius Account Type (Savings or Checking) dks Select dhft,A mijksDr lHkh Steps lgh rjhds ls Follow gksus dh fLFkfr esa vkidk Transaction

Complete gks pqdk gS vkSj Total Payable Amount yxHkx rqjUr gekjs SBI Bank A/c esa tek gks tkrk gSA

Page 126: Ado.ne twith csharpinhindi

9

Bhd blh rjg ds Steps vkidks ml le; Hkh Follow djus gksrs gSa] tc vki PNB या BOB ds

ATM Machine ds ek/;e ls gekjs PNB Bank A/c esa Total Payable Amount, Card to Card Transfer djrs gSaA gkykafd vki HDFC, IDB, ICICI tSls dbZ vU; ATM Machines }kjk Hkh Card to Card Transfer dj ldrs gSa] ysfdu ;fn nksuksa Debit Cards leku Banks (PNB, SBI or BOB) ds u gksa] rks Transaction Perform gksus esa 24 ls 96 ?k.Vs dk le; yxrk gSA

blfy, bl fLFkfr esa csgrj ;gh gksrk gS fd ;fn vkids ikl Net Banking, Mobile Baking, AirTel Money ;k SBI/PNB/BOB Debit Card fdlh Hkh rjg dh lqfo/kk u gks] rks vki Total Payable Amount dk Payment djus ds fy, Cash Deposit rjhds dks gh Use djsa vFkok Bank esa tkdj NEFT Transfer Hkh dj ldrs gSa] ftlesa vkidk Payment vf/kdre 4 ?k.Vs ds njE;ku gekjs Bank A/c esa Deposit gks tkrk gSA

Payment Transfer Using Net-Banking ;fn vkids ikl Net-Banking dh lqfo/kk gS] rks vki Payment Transfer djus ds fy, vius Account esa Login djds fuEu esa ls fdlh Hkh Bank A/c esa Payment Deposit dj ldrs gSa%

Page 128: Ado.ne twith csharpinhindi

11

tc vki Net-Banking ds ek/;e ls Payment djuk pkgrs gSa] rks vkidks yxHkx 8 ls 24 ?k.Vs igys gekjs ml Account dks Beneficiary ds :i esa vius Bank A/c ls Link djuk iMrk gS] ftlesa vki Payment Transfer djuk pkgrs gSaA tc ,d ckj gekjk Bank Account Beneficiary ds :i esa Activate gks tkrk gS] mlds ckn vki ml Bank Account esa viuk Total Payable Amount Transfer dj ldrs gSaA

Pay with Mobile-Banking or AirTel Money ;fn vkius vius Mobile Number ij AirTel Money uke dh Service dks Activate fd;k gqvk gS] rks vki vius Mobile }kjk AirTel Money Account ds ek/;e ls Hkh gesa Payment dj ldrs gSaA tcfd ;fn vkius vius Bank ls Mobile Banking dh lqfo/kk dks Activate djok;k gqvk gS] rks vki vius Mobile }kjk gesa Mobile-Banking ds ek/;e ls Hkh Payment Transfer dj ldrs gSaA ;fn vki viuk Total Payable Amount Pay djus ds fy, AirTel Money ;k Mobile Banking Transfer lqfo/kk dks Use djrs gSa] rks vkidk Payment rqjUr gekjs Account esa Transfer gks tkrk gSA blfy, rqjUr EBooks izkIr djus gsrq Payment Transfer djus dk ;s lcls rst rjhdk gSA tcfd blds vykok tks nwljk lcls rst rjhdk gS] og ATM Machine }kjk Fund Transfer lqfo/kk dk mi;ksx djrs gq, Payment Transfer djuk gSA tcfd Internet-Banking ml fLFkfr esa dkQh /khek Process gS] tc vki igyh ckj Payment dj jgs gksrs gSa] D;ksafd First Time Payment djus ls igys vkidks Beneficiary ds :i esa gekjs fdlh ,d Bank Account dks vius Bank Account ls Link djuk iMrk gS vkSj bl Process esa Payment Transfer gsrq gekjk Bank Account Activate gksus esa de ls de 8 ls 24 ?k.Vs dk le; yxrk gSA gkykafd ,d ckj Account Activate gks tkus ds ckn vkidk Transfer rqjUr gks tkrk gSA

Page 129: Ado.ne twith csharpinhindi

12

tcfd Cash Deposit dk rjhdk lcls /khek rjhdk gS] tgka vki Bank Holidays dks Payment Deposit ugha dj ldrs vkSj Business Days esa Hkh Payment Deposit djus dk ,d fuf”pr le; 10PM to 4AM gksrk gSA

Cash Deposit in Bank Brach ;fn vkids ikl Net-Banking ;k Mobile-Banking dh lqfo/kk ugha gS] rks vki gekjs fdlh Hkh Bank A/c esa Total Payable Amount, Cash Deposit Hkh dj ldrs gSa vFkok vki Bank Branch esa tkdj NEFT Transfer ds ek/;e ls Hkh Payment dj ldrs gSa] tks fd Cash Deposit ds leku gh gksrk gSA

tc vki Direct Deposit djuk pkgrs gSa] rc vkidks vkids fdlh Hkh utnhdh Bank Branch esa tkdj ,d Payment Deposit Slip Fill-Up djuk gksrk gS] ftlesa vkidks gekjs fdlh Hkh Bank A/c dh Information dks Fill djuk gksrk gS] tcfd Payment Deposit djokus ds fy, mlh Bank esa vkidk Lo;a dk Account gksuk t:jh ugha gSA

mnkgj.k ds fy, ;fn vki gekjs SBI Bank A/c esa viuh Selected iqLrdksa dk Total Payable Amount Pay djus ds fy, Bank esa tkdj Direct Deposit djuk pkgrs gSa] rks vki tks Payment Deposit Slip Fill-Up djsaxs] og vxys fp=kuqlkj djuk gksrk gSA

Page 130: Ado.ne twith csharpinhindi

13

bl fp= }kjk vki le> ldrs gSa fd Payment, Direct Deposit djus ds fy, vkidks gekjs fdlh Bank A/c dh Information dks Payment Deposit Slip esa Specify djuk gksrk gS] blfy, ml Bank esa vkidk Lo;a dk Bank A/c gksuk t:jh ugha gksrkA

blh rjg ls ;fn vki pkgsa] rks gekjs fdlh Hkh Bank A/c esa Check }kjk Hkh Total Payable Amount dk Check Deposit dj ldrs gSaA ;kuh vki fdlh Hkh rjhds ls gekjs fdlh Hkh Bank A/c esa Total Payable Amount Deposit dj ldrs gSaA ysfdu ge Money-Order, Demand-Draft ;k Check tSls Manual ek/;eksa ls Payment Accept ugha djrs] D;ksafd bl rjg dk Payment Clear gksus esa cgqr le; yxrk gSA tcfd ATM Fund Transfer, Cash Deposit, Mobile Banking vFkok Net-Banking ds ek/;e ls rqjUr Payment Transfer gks tkrk gS] ftlls ge vkidks vkidh Purchased EBooks 10 ls 30 Minute ds njE;ku vkids Order esa Specified Email Address ij Send dj nsrs gSaA

viuk Payment djus ds fy, vki ftu Offline Manual rjhdksa dks mi;ksx esa ys ldrs gSa] mudh Detailed Information vki http://www.bccfalna.com/how-to-deposit-payment/ ls Hkh izkIr dj ldrs gSa] tgka vkidks Payment djus ls lEcaf/kr fdlh Hkh rjg dk Latest Update izkIr gksrk gSA

Pay with PayPal if you live Out Of India ;fn vki India esa ugha jgrs ysfdu ;s Hindi EBooks [kjhnuk pkgrs gSa] rks vki viuh okafNr iqLrdksa ds Total Payable Amount dk Hkqxrku gesa PayPal ds ek/;e ls [email protected] ij Hkh Send dj ldrs gSaA

pwafd International Payment Processing esa fofHkUu izdkj ds Extra Charges Pay djus gksrs gSa] blfy, PayPal ds ek/;e ls Payment djrs le; vkidks Total Payable Amount (In USD) + $2 dk Extra Payment Send djuk t:jh gksrk gSA

viuk Payment Send djus ds ckn vki vius Payment dh Information gesa SMS ;k Email ds ek/;e ls ns ldrs gSaA tSls gh vkidk Email/SMS gesa izkIr gksxk] vki }kjk Order dh xbZ iqLrdksa dk Download Link vkids Email Address ij ftruk tYnh lEHko gksxk] mruk tYnh Send dj fn;k tk,xkA

Page 131: Ado.ne twith csharpinhindi

14

Confirm the Payment tc vki viuh Order dh xbZ iqLrdksa dks [kjhnus ds fy, mijksDrkuqlkj fdlh Hkh Offline Manual rjhds ls “Total Payable Amount” gekjs fdlh Hkh Bank A/c esa Deposit/Transfer dj nsrs gSa] rks Payment Deposit/Transfer djrs gh vkidks gesa mlh Mobile Number ls ,d Call/Miss Call/SMS djuk gksrk gS] ftls vkius Order Place djrs le; “Order Form” esa Specify fd;k FkkA

blh Mobile Number ds ek/;e ls gesa irk pyrk gS fd vkius fdu iqLrdksa ds fy, dkSulk Order fd;k gS vkSj mudk Total Payable Amount fdruk gSA lkFk gh gesa ;s Hkh irk py tkrk gS fd vki }kjk Purchase dh tk jgh iqLrdsa fdl Email Address ij Send djuh gSA

vkids Total Payable Amount dks ge Net-Banking ds ek/;e ls vius Bank A/c esa Check djrs gSa vkSj ;fn vkidk Total Payable Amount gekjs fdlh Hkh Bank A/c esa Deposit/Transfer gqvk gksrk gS] rks ge vkidks 10 Minute ds njE;ku vkidh Order dh xbZ EBooks vkids Email Address ij Send dj nsrs gSa] ftls vki vxys 2 fnuksa esa dHkh Hkh Download dj ldrs gSaA

Page 132: Ado.ne twith csharpinhindi

15

If you have any problem ;fn iqLrds a [kjhnus ls lEcaf/kr fdlh Hkh izdkj dh dksbZ ckr vkidks Bhd ls le> esa u vkbZ gks ;k fdlh Hkh rjg dk Confusion gks] rks vki 097994-55505 ij Call/Miss Call/SMS dj ldrs gSaA ;Fkk lEHko rqjUr vkidh leL;k dk lek/kku fd;k tk,xkA pwafd ;s lkjh iqLrdsa PDF Format Softcopy Ebooks gSa blfy, bu iqLrdksa dk Download Link vkidks vkids Email ij gh Send fd;k tkrk gS ] ftUgsa Click djrs gh ;s iqLrds a vkids Computer ij Download gksuk “kq: gks tkrh gSaA

,d ckj bu iqLrdksa dks Download djus ds ckn vki bUgsa fdlh Hkh PDF Supported Computer, Mobile, Smart Phone, Tablet PC, Net-Book, Notebook ;k Laptop tSlh Device ds ek/;e ls i< ldrs gSa vFkok ;fn vki pkgsa] rks vius Printer }kjk bu iqLrdksa dk Hard Copy Printout fudky ldrs gSaA pwafd bu iqLrdksa ds Download Links vkidks vkids Email Address ij gh izkIr gksrs gSa] blfy, t:jh gS fd mijksDr “Order Form” ij vki viuk tks Email Address o Mobile Number Specify djrs gSa] og Working vkSj ,dne lgh gksA D;ksafd fdlh Hkh rjg dh ijs”kkuh gksus dh fLFkfr esa ge vkidks vkids Mobile Number vFkok Email Address }kjk gh Contact djrs gSaA