With C in Hindi PDF
With C in Hindi PDF
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.
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
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.
e-mail [email protected],
or
visit http://www.bccfalna.com.
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
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
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
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
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
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
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
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
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
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
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%
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
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
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
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
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
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
;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
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%
;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
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
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
;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");
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")
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
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 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
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
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
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
35
www.BccFalna.com
ADO.NET with C# in Hindi
;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
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
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
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
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
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%
blh Statement dks tc ge Parameterized Form esa fy[krs gSa] rks gekjk Statement dqN
fuEukuqlkj gks tkrk gS%
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
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
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
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
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
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
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%
48
www.BccFalna.com
ADO.NET with C# in Hindi
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
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%
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%
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
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 Interface, IDataParameter Interface dks Extend djrk gS] rkfd mls
fuEukuqlkj vkSj Additional Behaviors izkIr gks ldsa%
52
www.BccFalna.com
ADO.NET with C# in Hindi
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
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
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
pwafd] bl Interface dh Listing cgqr cMh gS] blfy, ;gka geus dsoy Partial Listing gh Display
dh gSA
54
www.BccFalna.com
ADO.NET with C# in Hindi
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%
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
<configuration>
<appSettings>
<!-- This key value maps to one of our enum values. -->
<add key="provider" value="System.Data.SqlClient"/>
</appSettings>
</configuration>
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%
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>
56
www.BccFalna.com
ADO.NET with C# in Hindi
Connection
Object
57
www.BccFalna.com
ADO.NET with C# in Hindi
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
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%
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
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
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
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%
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%
71
www.BccFalna.com
ADO.NET with C# in Hindi
Initial Catalog=pubs;
Integrated Security=True"
testConnection = testConnectionString;
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
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%
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%
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
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%
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
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;
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%
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%
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
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
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
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
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
;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
84
www.BccFalna.com
ADO.NET with C# in Hindi
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
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
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
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%
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
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%
lkFk gh ge Connection Object ds lkFk CreateCommand() Method dk iz;ksx djrs gq, Hkh
fuEukuqlkj ;gh dke dj ldrs gSa%
;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%
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%
vkSj bl SQL Query dks Command Object esa dqN fuEukuqlkj rjhds ls Embed fd;k tk,xk%
tcfd ;fn ge pkgsa rks blh Statement dks dqN fuEukuqlkj rjhds ls Hkh fy[k ldrs gSa%
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
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
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");
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");
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
;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
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
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
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
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);
97
www.BccFalna.com
ADO.NET with C# in Hindi
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");
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
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
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%
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%
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%
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
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();
}
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;
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
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
;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
allAuthors.Close();
}
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
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%
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
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%
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
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
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
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