100% found this document useful (1 vote)
351 views124 pages

With C in Hindi PDF

Uploaded by

mahedi ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
351 views124 pages

With C in Hindi PDF

Uploaded by

mahedi ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 124

ADO.

NET
With C# in Hindi
BccFalna.com Kuldeep Chand
I have tried my best to compile each and every aspect related
097994-55505 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.
ADO.NET with C# in Hindi

ADO.NET
with C# in Hindi

Kuldeep Mishra

BetaLab Computer Center


Falna

1
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.

2
www.BccFalna.com
ADO.NET with C# in Hindi

This book is dedicated to you


if you really wants
to become

Professional Developer

3
www.BccFalna.com
ADO.NET with C# in Hindi

ADO.NET
with C#
Index of contents

4
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

5
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

6
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

7
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

8
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

9
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

10
www.BccFalna.com
ADO.NET with C# in Hindi

ADO.NET
Introduction

11
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

12
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 gS]a 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

13
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

14
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,

15
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

16
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

17
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

18
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

19
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

20
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

21
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

22
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

23
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

24
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

25
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)

26
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 %

27
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())

28
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

29
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

30
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

31
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

32
www.BccFalna.com
ADO.NET with C# in Hindi

ADO.NET
Object Model

33
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

34
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

35
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

36
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

37
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%

38
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

39
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%

40
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

41
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

42
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

43
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

44
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%

45
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%

46
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

47
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%

48
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%

49
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);

50
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();

51
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

52
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]

53
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

54
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%

55
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

56
www.BccFalna.com
ADO.NET with C# in Hindi

Connection
Object

57
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%

58
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%

59
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%

60
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%

61
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%

62
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%

63
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%

64
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

65
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%

66
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

67
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

68
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

69
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

70
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;

71
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%

72
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 gS%a

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Data;

73
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;

74
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.");
}

75
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 ges”a 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

76
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

77
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)
{

78
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());

79
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 gS]a 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%

80
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

81
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

82
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

83
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

84
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

85
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

86
www.BccFalna.com
ADO.NET with C# in Hindi

Command
Object

87
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

88
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 gS]a 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

89
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

90
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%

91
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%

92
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,

93
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

94
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

95
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

96
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

97
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

98
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,

99
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;

100
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%

101
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

102
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

103
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 gS]a 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%

104
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%

105
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();

106
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();

107
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

108
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

109
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

110
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

111
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

112
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

113
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");

114
www.BccFalna.com
ADO.NET with C# in Hindi

Working
with
Connected Layer

115
www.BccFalna.com
How to Get this Ebook in PDF Format
;s iqLrd dsoy PDF Format Ebook ds :i esa gh Available gS vkSj vki bl iqLrd dks
dsoy gekjh Official Website (http://www.bccfalna.com/) ls gh [kjhn ldrs gSaA blfy, ;fn
vkidks
;s iqLrd ilUn vk jgh gS vkSj vki bls PDF Format Ebook ds :i esa [kjhnuk pkgrs gSa] rks
vki bl iqLrd dks Online [kjhnus ds fy, fuEukuqlkj fn, x, 3 Simple Steps Follow dj
ldrs gSa%

Select Purchasing EBooks


lcls igys vki http://www.bccfalna.com/how-to-pay/ Link ij Click dhft,A tSls gh vki
bl Link ij Click djsaxs] vki gekjh Website ds Order Page ij igqap tk,saxs] tgka vkidks fuEu
fp=kuqlkj ,d Order Form fn[kkbZ nsxk%
bl Order Form ij vkidks mu iqLrdksa dks Select djuk gks r k gS] ftUgsa vki [kjhnuk pkgrs
gSaA okafNr iqLrdsa Select djus ds ckn vkidks viuk Name, Email Address o Mobile
Number Specify djds “Order Now” ij Click djrs gq, viuk Order Place djuk gksxkA

vki ftruh T;knk iqLrdsa Select djrs gSa] vkidks mruk gh T;knk Discount izkIr gksrk gSA
vki }kjk Selected lHkh iqLrdksa dk Total Amount, Discount o Total Payable Amount
mijksDr fp=kuqlkj fn[kkbZ nsrk gS] tgka Total Payable Amount gh og Amount gS] tks vkidks
viuh Selected EBooks dks [kjhnus ds fy, Pay djuk gksrk gSA

pwafd ;s lkjh iqLrdsa PDF Format Ebooks gSa blfy, b u iqLrdksa dk Download Link
vkidks vkids Email ij gh Send fd;k tkrk gS ] ftUgsa Click djrs gh ;s iq L rds 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

blds vykok ;fn vki pkgsa rks gesa viuk Order Email ;k SMS ds ek/;e ls Hkh Send dj ldrs
gSaA

tc vki viuk Order Email ds ek/;e ls Send djuk pkgrs gSa] rc vkidks vius bZesy esa mu
iqLrdksa dk uke ftUgsa vki [kjhnuk pkgrs gSa] viuk uke rFkk viuk Mobile Number Specify
djuk t:jh gksrk gSA

tcfd ;fn vki viuk Order SMS ds ek/;e ls Send djuk pkgrs gSa] rks ml fLFkfr esa vkidks
vius SMS esa mu iqLrdksa dk uke ftUgsa vki [kjhnuk pkgrs gSa] viuk uke rFkk viuk Email
Address Specify djuk t:jh gksrk gSA

Pay “Total Payable Amount”


tSls gh vki “Order Now” Button ij Click djrs gSa]] vkidks ,d Email izkIr gksrk gS] ftlesa
vki }kjk Order dh xbZ EBooks dh Details gksxhA Selected iqLrdksa dk Order Place djus
ds ckn vkidks “Total Payable Amount” dk Payment djuk gksrk gSA 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

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%
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

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 fuEu fp=kuqlkj djuk gksrk gS%
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 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

Confirm the Payment


tc vki viuh Selected iqLrdksa dks [kjhnus ds fy, mijksDrkuqlkj fdlh Hkh 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, 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 30 Minute ds njE;ku vkidh Order dh xbZ EBooks vkids Email
Address ij Send dj nsrs gSa] ftls vki vxys fnu 12PM rd Download dj ldrs gSaA

;fn iq L rds a [kjhnus ls lEca f /kr fdlh Hkh iz d kj 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

mEehn gS] bl iqLrd ds Sample Chapters dk Demo Hkh vkidks ilUn vk;k gksxk vkSj gesa
iwjk fo”okl gS fd iwjh iqLrd vkidks vkSj Hkh T;knk ilUn vk,xhA

You might also like