1. Trang chủ
  2. » Ngoại Ngữ

MICROSOFT .NET (C#) PROFESSIONAL PROGRAMMING FOR REAL LIFE

122 200 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 122
Dung lượng 2,55 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

L Ӟ,1*Ӑ Tồn tүSJLiRWUình này là kӁWTXҥFөDVӳF{ÿӏQJQKӱQJNLӁQWKӫFFҩQWKLӁWJL~S bңQOàm chөQӃQWҥQJ17FKRF{QJYLӉF&K~QJW{Lÿã ÿ~FNӁWQKӱQJNLQKQJKLӉP thӳF WӁ U~W JӏQ QKӱQJ ÿLӃP FҩQ OѬX ý, nhӱQJ Nӹ W

Trang 1

MICROSOFT NET (C#) PROFESSIONAL PROGRAMMING FOR REAL LIFE

T UXQJWkPÿjRWңR&177FKҧWOѬӥQJFDR

C Ӗ1*&1779,ӈ7 NAM WWW.ITGATEVN.COM.VN

Trang 2

L Ӟ,1*Ӑ

Tồn tүSJLiRWUình này là kӁWTXҥFөDVӳF{ÿӏQJQKӱQJNLӁQWKӫFFҩQWKLӁWJL~S

bңQOàm chөQӃQWҥQJ1(7FKRF{QJYLӉF&K~QJW{Lÿã ÿ~FNӁWQKӱQJNLQKQJKLӉP

thӳF WӁ U~W JӏQ QKӱQJ ÿLӃP FҩQ OѬX ý, nhӱQJ Nӹ WKXүW Pà hҩX KӁW FiF F{QJ W\

phҩQ PӃP SKiW WULӅQ ӫQJ GӧQJ WUên nӃQ WҥQJ 1(7 ÿӃX \êu cҩX WKӳF KLӉQ +ѪQ QӱDÿk\ Fịn là tài liӉX Pà bңQ Fy WKӅ Vӯ GӧQJ ÿӅ {Q WүS OңL QKӱQJ NLӁQ WKӫF VDX

nhӱQJJLӟOên lӝSYjÿҹFELӉWWURQJF{QJYLӉFFөDFiFEңQ

XuҧWWKkQWӭPӛWQKà phát triӅQFKX\ên gia phân tích hӉWKӓQJW{Lÿã gĩi nhӱQJ

kiӁQWKӫFFӓWOõi và cҩQWKLӁWQKҧWWURQJOүSWUình trên cơng nghӉ1(7Yào tài

liӉXQày NhӱQJYtGӧ WURQJ Wài liӉXOà nhӱQJYt GӧWKӳFWӁÿѬӥF W{LWUtFKOӏF

tӁWURQJF{QJYLӉFÿӅPӏLQJѬӟLFùng tham khҥRSKҥLQJұQJӏQ và thүWVӳWKӳFWӁ QKѬQJOңLSKҥLFKX\ên sâu và thӅKLӉQQKӱQJNӹWKXүWFDRWURQJOүSWUình7{Lÿã nghƭYӃ QKӱQJ\êu cҩX ÿy và quyӁWÿӍQK YiӁWWài liӉXQày vào mәLEXӗLWӓLVDX

giӟOàm viӉFĈk\QKѬPӛW PyQTXjÿiSOңLVӳ tín nhiӉP\êu mӁQPà các bңQÿã, ÿDQJYjVҿGành cho tơi

Tơi rҧW PRQJ QKүQ ÿѬӥF QKLӃX ê NLӁQ ÿyQJ JyS FөD FiF EңQ FKR Wài liӉX Qày, và tơi sҿWӗQJKӥSOңLÿӅFүSQKүWFKR tài liӉXPӛWWӓWKѪQ

Tơi mong rҳQJWài liӉXQày sҿÿӕQJKành cùng các bңQWURQJF{QJYLӉF

Tác giҥ

Ph ңP7XҧQ$QK

Trang 3

MӏL Vӳ VDR FKpS VDR OѬX [XҧW EҥQ FKX\ӅQ JLDR NK{QJ ÿѬӥF Vӳ FKR SKpS FөD {QJ

PhңP7XҧQ$QKOà không hӥSSKiS

Tác giҥ

Ph ңP7XҧQ$QK

Trang 4

M Ӧ&/Ӧ&

L Ү375ÌNH NET (C#) 8

CҧXWU~FOүSWUình C# căQEҥQ - 9

ӪQJGӧQJ³&+HOOR:RUOG´ 9

TiӁSFүQ& - 10

Khai báo bi ӁQWURQJ& 11

Ki ӅXGӱOLӉXWURQJ& 11

,QSXW2XWSXWWURQJ&FăQEҥQ 11

C ҧXWU~FÿLӃXNKLӅQWURQJOүSWUình C# 12

C ҧXWU~FLI 12

C ҧXWU~FVZLWFK«FDVH 12

C ҧXWU~FYòng lҹSWURQJOүSWUình C# 13

Vòng lҹSWhile 13

Vòng lҹSdo 14

Vòng lҹSfor 14

Vòng lҹSforeach 15

Arrays - M ҥQJWURQJ& 15

&K~QJWDÿã hӏF 15

Bài t үSWӳWKӳFKLӉQ 16

HiӉQWKӳFNKiLQLӉPKѬӝQJÿӓLWѬӥQJ 223 WURQJ& - 17

L ӝS FODVV WURQJ& 18

Class 18

ĈӓLWѬӥQJ 2EMHFWV 18

ѫXÿLӅPFөDYLӉFVӯGӧQJ&ODVVYjĈӓLWѬӥQJ 18

Hàm t ңR &RQVWUXFWRUV Yà hàm hө\ 'HVWUXFWRUV WURQJ& 18

Constructors 18

Destructors 19

Fuction Overloading 19

Th ӭDNӁWURQJ& 20

Overriding, Polymorphism trong C# 21

Overriding 21

Polymorphism 23

Abstract Class trong C# 24

Namespaces 24

Khái ni ӉP1DPHVSDFH 24

Khai báo m ӛW1DPHVSDFH 24

Enumerator trong C# 25

BÀI T Ү3&Ï+ѫӜ1*'Ҭ1 26

&ѩ6Ӡ'Ӱ/,ӈ8 27

Thao tác v ӝLKӉTXҥQWUӍGӱOLӉX0664/6HUYHU 28

Kh ӡLWңRPӛWKӉFѪVӡGӱOLӉX 28

T ңREҥQJ 28

Truy v ҧQGӱOLӉXWӭPӛWEҥQJ 28

Truy v ҧQGӱOLӉXFyÿLӃXNLӉQ 29

Truy v ҧQGӱOLӉXWӭQKLӃXEҥQJ 29

Thêm d ӱOLӉXYào bҥQJ 31

C үSQKүWGӱOLӉXWURQJEҥQJ 31

Xóa d ӱOLӉXWӭEҥQJ 31

L Ү375ÌNH DÀNH CHO CÔNG VIӈ& 33

ADO.NET và thao tác vӝLFѪVӡGӱOLӉX - 34

Gi ӝLWKLӉXYӃ$'21(7 35

Mô hình ADO.NET 35

Data Provider 36

K ӁWQӓL 36

Data Adapter 36

Thu ӛFWtQKYjSKѬѪQJWKӫFFөD'DWD$GDSWHU 37

Data Command 37

Data Reader 37

Trang 5

DataSet 38

BÀI T Ү3&Ï+ѫӜ1*'Ҭ1 39

BÀI T Ү37Ӳ5ÈN LUYӈ1 39

Data Binding 40

Khái ni ӉP'DWD%LQGLQJ 40

Th ӳFKLӉQ'DWD%LQGLQJWK{QJTXDFkXOӉQKWUX\YҧQ 40

L ӏFYà sұS[ӁSGӱOLӉX 40

L ӏFPӛW'DWDVHW 40

S ӯGӧQJFkXOӉQK64/FyWKDPVӓ 40

Thêm, c үSQKүW[yDGӱOLӉXWURQJFѪVӡGӱOLӉX 41

Thêm m ӝLGӱOLӉXYjRFѪVӡGӱOLӉX 41

C үSQKүW[yDGӱOLӉXWURQJFѪVӡGӱOLӉX 42

Xây d ӳQJPӛWOӝS&6'/Gùng chung 43

Xây d ӳQJOӝSJLDRWLӁSYӝL&6'/- DBClass 43

S ӯGӧQJOӝSJLDRWLӁSYӝL&6'/- DBClass 46

Xây dӳQJӪQJGӧQJ:LQGRZV)RUP - 47

Xây d ӳQJ:LQGRZV)RUPV 47

Visual Studio NET Integrated Development Environment (IDE) 47

T ңRPӛWGӳiQWURQJ9LVXDO6WXGLR1HW 47

Window Form Controls 51

Windows Form 51

Thu ӛFWtQK:LQGRZV)RUP 52

S ӳNLӉQWURQJ:LQGRZV)RUP 52

TextBox Control 53

Label Control 53

LinkLabel Control 54

ListBox Control 54

ComboBox Control 56

CheckBox Control 56

RadioButton Control 57

GroupBox Control 57

Button Control 57

T ңRFRQWUROÿӛQJWURQJ:LQGRZV)RUP 57

S ӯGӧQJQKӱQJOӝSWKӭDNӁ&RPPRQ'LDORJ 57

L ӝS&RORU'LDORJ 57

L ӝS)RQW'LDORJ 59

Làm vi ӉFYӝL0HQXVYà xây dӳQJӫQJGӧQJ0', 60

Xây d ӳQJӫQJGӧQJ0', 62

Bài t үSFyKѬӝQJGҭQ 63

Bài t үSWӳOX\ӉQ 63

Qu ҥQOêOәLWURQJOүStrình C# 64

Xây dӳQJKӉWKӓQJӫQJGӧQJWUên nӃQWҥQJ:HE- ASP.NET - 66

Xây d ӳQJӫQJGӧQJ+HOOR$631(7VӯGӧQJ9LVXDO6WXGLR1(7 IDE 66

S ӳNLӉQ3DJHB/RDG 71

&iFÿӓLWѬӥQJ$631(7 72

ĈӓLWѬӥQg Request 72

ĈӓLWѬӥQJ5HVSRQVH 73

ĈӓLWѬӥQJ6HVVLRQ 73

Xây d ӳQJ ӫQJGӧQJ:HEVӯGӧQJ6HUYHU&RQWUROV 74

Server Controls 74

HTML Server Controls 74

HtmlAnchor 75

HtmlInputText 75

HtmlInputCheckBox 76

HtmlInputRadioButton 76

HtmlSelect Control 76

Web Server Controls 76

TextBox Control 77

Literal Control 77

FileUpload Control 77

Panel Control 78

Trang 6

View & MultiView Control 78

Calendar Control 78

DropDownList Control 78

ĈLӃXNKLӅQFiF6HUYHU&RQWUROV 79

K ӁWQӓLFѪVӡGӱOLӉXWURQJ$631(7 82

DataBinding trong ASP.NET 82

Binding d ӱOLӉXYào mӛW'URS'RZQ/LVW&RQWURO 82

Thu ӛFWtnh IsPostBack 83

Web Server Control Template 83

Repeater Control 84

G ұQÿLӃXNKLӅQYào Repeater 91

UserControl và ӫQJGӧQJWURQJ[k\GӳQJ:HE3RUWDO 94

T ңRYà sӯGӧQJ8VHU&RQWURO 94

ӪQJGӧQJ8VHU&RQWUROWURQJ[k\GӳQJӫQJGӧQJ:HE3RUWDO 96

Hi ӉQWKӳFNLӁQWU~F:HE3RUWDO 97

Ki ӁQWU~FWҥL8VHU&RQWUROÿӛQJVӯGӧQJ3ODFH+ROGHU 98

Bài t үSWӳ{QOX\ӉQ 99

C ҧXKình cho ӫQJGӧQJ:HE$631(7 99

M ӧFDSS6HWWLQJV! 100

ĈӏFJLiWUӍWӭWKҽDSS6HWWLQJV 100

Th ҽFustomErrors> 100

Xu ҧWEҥQPӛWӫQJGӧQJ:HE$631(7 101

Tri ӅQNKDLPӛWӫQJGӧQJ:HEVLWH$631(7WUên IIS 102

Phát triӅQKӉWKӓQJӫQJGӧQJGRDQKQJKLӉSYӝL1(7 - 108

Web Services .108

Kh ӡLWңRYà gӏLPӛW:HE6HUYLFHV 108

D ӲÈ1 115

Project 1. - 115

D ӳiQ:HEVLWe thông tin và bán hàng trӳFWX\ӁQ 115

Project 2. - 115

D ӳiQ+ӉWKӓQJTXҥQWUӍNKRKàng 115

Ĉӎ&7+ÊM 116

ASP.NET & AJAX Framework - 116

HӉFѪVӡGӱOLӉX0\64/6HUYHU OүSWUình thao tác dӱliӉXYӝL0\64/ Server. - 116

K ӁWQӓLÿӁQFѪVӡGӱOLӉX0\64/ 116

Regular Expressions Error! Bookmark not defined G ӡL(PDLOWӭPӛWWUDQJ$631(7 120

Upload file hình ҥQKYjRFѪVӡGӱOLӉX64/ 121

THAM KH Ҥ2 123

Trang 7

L Ү375ÌNH NET (C#)

.NET là nӃQ WҥQJ FKR SKpS SKiW WULӅQ QKӱQJ ӫQJ GӧQJ PӝL KRàn toàn trên cҥ KDLP{L WUѬӟQJ :LQ Yà Web Khi sӯ GӧQJ 1(7 ÿòi hӑL SKҥL Vӯ GӧQJ PӛW QJ{Q QJӱ ÿӅkhai thác hӁWVӫFPңQKFөDQy&Oà ngôn ngӱFKúng tôi lӳDFKӏQÿӅVӯGӧQJYà

giӝLWKLӉXÿӁQEңQ&ÿѬӥFSKiWWULӅQWӭ&&Yà giӱQJX\rQWrQWURQJJLDÿình

C, ký tӳÿѬӥFVӯGӧQJQKѬPӛWVӳNKҵQJÿӍQKYӃWtQKVұFEpQFөDQJ{QQJӱQày,

GRÿy&ÿѬӥFSKiWkPOà C sharp

Trang 8

6DXÿk\OjFKѬѪQJWUình C# Hello World, mã nguӕQQKѬVDX

/*This is Hellow World C# Program*/

Trang 10

Khai báo bi ӁQWURQJ&

Access Modifier Mô t ҥ

public Truy cүSWңLEҧWNǤQѪLÿkX

protected Cho phép truy xuҧW Eên trong mӛW OӝS QѪL ELӁQ Qj\ ÿѬӥF ÿӍQK

object obj = null;

string ĈѬӥF Vӯ GӧQJ ÿӅ OѬX WUӱ QKӱQJ JLi

byte sӯGӧQJÿӅOѬXWUӱJLiE\WH byte val = 12;

float SӯGӧQJÿӅOѬXWUӱJLiWUӍVӓWKӳF float val = 1.23F;

bool Cho phép mӛW ELӁQ OѬX WUӱ JLi WUӍ

ÿ~QJKRҹFVDL

bool val1 = false;

bool val2 = true;

char Cho phép mӛW ELӁQ OѬX WUӱ PӛW Nê

char cval = 'a';

,QSXW2XWSXWWURQJ&FăQEҥQ

,QSXWRXWSXWWURQJ&ÿѬӥFWKӳFKLӉQWK{QJTXDYLӉFVӯGӧQJKàm cөDOӝSConsole trong namespace System

+DLKjPWKѬӟQJVӯGӧQJQKҧWFKRWKDRWiF,QSXW2XWSXWOà:

Console.WriteLine();

Console.ReadLine();

Trong dó,

Trang 12

C ҧXWU~FYòng lҹSWURQg lүSWUình C#

C# cung cҧSFiFFҧXWU~FYòng lҹSFKѬѪQJWUình

ThӳF WKL FkX OӉQK hoҹF PӛW ORңW QKӱQJ FkX OӉQK ÿӁQ NKL ÿLӃX NLӉQ NK{QJ ÿѬӥF

Trang 14

MҥQJ Oà mӛW QKyP QKӱQJ ELӁQ Fy Fùng mӛW NLӅX Gӱ OLӉX 1KӱQJ ELӁQ Qj\ ÿѬӥF OѬX

trӱWURQJEӛQKӱQJYùng bӛQKӝNӁWLӁSGRÿy mҥQJ cho phép truy xuҧWYà thӳFWKLÿӁQWӭQJSKҩQWӯWURQJPҥQJ

Công thӫFkhai báo mӛWPҥQJQKѬVDX

Datatype [] variableName = new Datatype [number of elements];

string[] sarray2 = { "Welcome", "to", "C# Array" };

Khi lүSWUình, tùy theo ÿLӃXkiӉQFKѬѪQJWUình mà bңQFyWKӅFKӏQOӳDPӛWWURQJhai cách trên

&K~QJWDÿã hӏF

TӝLÿk\, bңQÿã tìm hiӅXYà làm quen vӝLOүS WUình trên nӃQWҥQJ 1(7 YӝL QJ{Q

ngӱ&1KӱQJNLӁQWKӫFVDXEңQFҩQQұPYӱQJ

Trang 15

ƒ C# là mӛWQJ{QQJӱPңQKÿѬӥFELên dӍFKYà thӳFWKLGӳDWUên nӃQWҥQJ1(7

ĈӅFөQJFӓNiӁQWKӫFÿã hӏF1KӱQJEài tүSVDXÿk\ÿѬӥF\êu cҩXWKӳFKLӉQ

1 ViӁWFKѬѪQJWUình cho phép nhүWYào 1 sӓQJX\rQGѬѪQJ1YjKLӅQWKӍJLiWUӍ

Trang 18

ƒ Function Overloading dӳDWUên sӓOѬӥQJWKDPVӓWUX\ӃQYào

ƒ Function Overloading dӳDWUên kiӅXJLiWUӍWKDPVӓWUX\ӃQYào

Trang 19

Ba hàm insertbooks ӡ WUên là mӛW Yt Gӧ YӃ IXQFWLRQ RYHUORDGLQJ WURQJ OүS WUình C# Trong khi hàm thӫQKҧWYà thӫOà overloading theo sӓOѬӥQJWKDPVӓYà hàm

thӫYӝLKàm thӫOà overloading theo kiӅXWKDPVӓWUX\ӃQYào

Th ӭDNӁWURQJ&

MӛWWURQJQKӱQJѬXÿLӅPQӗLEүWFөDOүSWUình hѬӝQJÿӓLWѬӥQJÿyOà thӭDNӁÿy

là sӳ VӯGӧQJOңLQKӱQJ WKXӛFWtQK Yà hành vi cөDPӛWOӝS Có hai kiӅXNӁ WKӭDtrong lүSWUình, ÿѪQNӁWKӭDYjÿDNӁWKӭD

protected int ifoots;

protected string sName;

protected void setFoot(int ival)

Trang 20

&KLFNHQ 'R ÿy WD Fy WKӅ JӏL QKӱQJ Kàm này, và kӁW TXҥ KLӅQ WKӍ NKL JӏL Kàm

displayProperties()  WKHR ÿӓL WѬӥQJ REM'RJ Yj REM&KLFNHQ NKiF QKDX QKѬ Kình trên

Overriding, Polymorphism trong C#

protected int ifoots;

protected string sName;

protected void setFoot(int ival)

Trang 23

ƒ Polymorphism không chӋ ÿѪQ JLҥQ Oà overriding, mà nó là overrding thông minh

ƒ Khác biӉW JLӱ 2YHUULGLQJ Yj 3RO\PRUSKLVP ÿy Oj WURQJ 3RO\Porphism, sӳquyӁWÿӍQKJӏLKjPÿѬӥFWKӳFKLӉQNKLFKѬѪQJWUình chң\

Abstract Class trong C#

Abstract Class là lӝS GQJ ÿӅ ÿӍQK QJKƭD QKӱQJ WKXӛF WtQK Yà hành vi chung cөD

nhӱQJ OӝS NKiF 0ӛW $EVWUDFW FODVV ÿѬӥF GQJ QKѬ PӛW OӝS FKD FөD FiF OӝS NKiF

Tӭ khóa abstract ÿѬӥFGQJÿӅÿӍQKQJKƭDPӛWDEVWUDFWFODVV NhӱQJOӝSÿѬӥFÿӍQKnghƭDEҳQJFiFKGùng tӭNKyDabstract thì không cho phép khӡLWңRÿӓLWѬӥQJFөD

lӝSҧ\

abstract class Shape

{

public abstract float calculateArea();

public void displaySomething()

ĈѬӟQJPDQJWên vӍWѬӝQJ GDQKWLӁQJ 7UҩQ+ѬQJÿңRÿӃX FyWңL 6ài Gòn và Hà NӛL

vү\ OjP VDR ÿӅ SKkQ ELӉW NKL QJѬӟL QѬӝF QJRài muӓQ KӑL YӃ ÿѬӟQJ 7UҩQ +ѬQJ ĈңR

&iFKÿѪQJLҥQQKҧWÿyOà khi muӓQJӏLWrQÿѬӟQJ7UҩQ+ѬQJĈңRWңL+à NӛLWKì ta

gӏL³ÿѬӟQJ7UҩQ+ѬQJĈңRWңL+à NӛL´YjWѬѪQJWӳWңL6ài Gòn là “ÿѬӟQJ7UҩQ+ѬQJĈңRWңL6ài Gòn” và chұFFKұQFK~QJWDVҿFyFkXWUҥOӟLFKRYӍNKiFKÿy

Hà NӛL6ài Gòn trong ví dӧWUên là mӛWYtGӧFKR1DPHVSDFH

Vү\FyWKӅKLӅX1DPHVSDFHOà mӛWJyLQKӱQJWKӳFWKӅFyWKXӛFWtQKYjKjQKYLÿӛF

lүSYӝLEên ngoài NhӱQJѬXÿLӅPFөDQDPHVSDFHÿѬӥFOLӉWNrQKѬVDX

ƒ 7UiQKÿѬӥFVӳWUùng lҹSWên giӱDFiFFODVV

ƒ Cho phép tӗFKӫFmã nguӕQPӛWFiFKFyNKRDKӏFYà hӥSOê

Khai báo m ӛW1DPHVSDFH

namespace NamespaceName

{

Trang 25

}

BÀI T Ү3&Ï+ѫӜ1*'Ҭ1

Namespace System.IO

IO Namespace chӫD QKӱQJ OӝS FKR SKpS WKDR WiF ÿӏF Yà ghi dӱ liӉX ÿӁQ QKӱQJ

luӕQJGӱOLӉXYà file MӛWVӓOӝSFөD6\VWHP,2ÿѬӥFOLӉWNrQKѬVDX

Trang 26

&ѩ6Ӡ'Ӱ/,ӈ8

M ӧFWLêu khóa hӏFQày

Sau phҩQnày, bңQFyWKӅ

ƒ HiӅXYӃFiFKӉFѪVӡGӱOLӉX

ƒ Thao tác dӱ OLӉX YӝL &6'/ 0664/ 6HUYHU EҳQJ FiF FkX OӉQK LQVHUW XSGDWHdelete, selectFѪEҥQ

ƒ Truy vҧQGӱOLӉXWӭQKLӃXEҥQJFùng lúc

Trang 27

C ѪVӡGӱOLӉX

&ѪVӡGӱOLӉX là tүSKӥSQKӱQg dòng dӱOLӉXÿѬӥFVұS[ӁSWKHRPӛWFҧXWU~FQKҧWÿӍQK

Ví dӧ tңRFѪVӡGӱOLӉXÿӅKӏFWүS1(7 có tên _NETDB

CREATE DATABASE _NETDB

Trang 28

Câu lӉQK truy vҧQ Gӱ OLӉX 6(/(&7  WUҥ YӃ Gӱ OLӉX Fy WURQJ EҥQJ &ҧu trúc câu

lӉQKÿѪQJLҥQÿӅtruy vҧQGӱOLӉXWӭPӛWEҥQJQKѬVDX

SELECT * | [CӛW@>&ӛW@«)520>7DEOH1DPH@

Ví dӧ

SELECT * FROM MyTable

SELECT vname FROM MyTable

SELECT * FROM MyTable where vName = ‘PhңP7XҧQ$QK¶

Select * from MyTable where igender = 1

Trang 29

&K~QJWDFyÿѬӥF 5 dòng kӁWTXҥYӝLdòng thӫFyJLiWUӍOj18//QKѬWKӁӡFkX

lӉQKWUên, viӉFVRViQKFKӋGӳDWUên các giá trӍFөDFӛWicid trên bҥQJcategory

hay nói cách khác câu truy vҧQWUên lҧ\WҧWFҥFiFGòng cөDEҥQJFDWHJRU\ EҥQJbên trái) 1JѬӟLWDÿӍQKQJKƭDÿyOj/()7-2,1

1JѬӥFYӝL/()7-2,1ÿyOà RIGHT JOIN Chúng ta cùng xét ví dӧ

Trang 30

icid vname iid vvalue

insert into category values('A')

insert into items values(1,'V1')

Trong hai câu lӉQKWUên, chúng ta có thӅWKҧ\NK{QJFyGӱOLӉXWKêm cho cӛWmã FKtQKÿLӃX Qày xҥ\UDNKLFӛWPã chính là cӛWWӳWăQJNKL ҧ\KӉWKӓQJWӳJiQgiá trӍӫQJYӝLGòng ÿѬӥFWKêm

update items set vvalue='V5' where iid=5

/ѬX ý, khi sӯ GӧQJ FkX OӉQK 83'$7( Qên sӯ GӧQJ ÿLӃX NLӉQ SKtD VDX ÿӅ ÿҥP EҥR

DELETE items where iid=5

/ѬX ý, khi sӯ GӧQJ FkX OӉQK DELETE, nên sӯ GӧQJ ÿLӃX NLӉQ SKtD VDX ÿӅ ÿҥP EҥR

rҳQJFKӋFyQKӱQJGòng thӑDÿLӃXNLӉQPӝLÿѬӥFxóa

Trang 32

L Ү375ÌNH DÀNH CHO CÔNG VIӈ&

M ӧFWLêu khóa hӏF này

Sau phҩQQày, bңQFyWKӅ

ƒ Thao tác trên công cӧSKiWWULӅQ9LVXDO6WXGLR1(7 ,'(

Trang 33

ADO.NET và thao tác v ӝLFѪVӡGӱOLӉX

Sau khi hoàn thành, bңQFyWKӅ

ƒ NҷPYӱQJNLӁQWU~F$'2.NET

ƒ HiӅXUõ nhӱQJÿӓLWѬӥQJWKXӛF$'21(7

ƒ KӁWQӓLFѪVӡGӱOLӉXVӯGӧQJFiFKàm thuӛFWKѬYLӉQ2OH'E

ƒ ThӳFKLӉQWKêm, cүSQKүW[yDGӱOLӉX

Trang 34

Gi ӝLWKLӉXYӃ$'21(7

Ngày nay, nhӱQJ ӫQJ GӧQJ WKѬѪQJ PңL FҩQ WKLӁW ÿӅ TXҥQ lý khӓL OѬӥQJ Gӱ OLӉX

khӗQJ Oӕ 'ӱ OLӉX WKѬӟQJ ÿѬӥF OѬX WUӱ WURQJ QKӱQJ EҥQJ TXDQ KӉ WURQJ FѪ Vӡ Gӱ

liӉX 1KүQ Gӱ OLӉX Yà thao tác dӱ OLӉX WUӳF WLӁS Wӭ PӛW FѪ Vӡ Gӱ OLӉX ÿòi hӑL

kiӁQWKӫFYӃQKӱQJFkXOӉQKWKDRWiFWUrQFѪVӡGӱOLӉXÿӅWUX\FүSÿӁQGӱOLӉX

Và ӫQJGӧQJFҩQJLDRWLӁSYӝL&ѪVӡGӱOLӉXÿӅWKӳFKLӉQQKӱQJF{QJYLӉFVDX

ƒ NhүQGӱOLӉXÿѬӥFOѬXWUӱWURQJFѪVӡGӱOLӉXYà hiӅQWKӍFK~QJUDJLDRGLӉQQJѬӟLGùng

ƒ CүSQKүWGӱOLӉXWKӳFKLӉQWKêm, hiӉXFKӋQKYà xóa dӱOLӉX

ADO.NET là mӛWP{KìnKÿѬӥF QKӱQJӫQJGӧQJ1(7Vӯ GӧQJÿӅJLDRWLӁS YӝLFѪ Vӡ

dӱOLӉXFKRYLӉFQKүQWUX\FүSYà cүSQKүWGӱOLӉX

Mô hình ADO.NET

Trang 35

ƒ Sql Server data provider - loңL Qày làm viӉF FKӋ YӝL 0LFURVRIW 64/ 6HUYHUCho phép thao tác vӝLWӓFÿӛWӓLѬXYӝLKӉFѪVӡ GӱOLӉX0664/6HUYHU ÿѬӥF

ConnectionString Cung cҧSWK{QJWLQQKѬGDWDVRXUFHWrQFѪVӡGӱOLӉXÿѬӥFVӯ

dӧQJÿӅWKLӁWOүSNӁWQӓLYӝLPӛWFѪVӡGӱOLӉX Open() Mӡ Pӛt kӁW QyL YӝL GDWDVRXUFH ÿѬӥF NKDL EiR WңL

ConnectionString Close() ĈѬӥFVӯGӧQJÿӅÿyQJNӁWQӓLYӝLGDWDVRXUFH

State ĈѬӥFVӯGӧQJÿӅ NLӅPWUD WUңQJWKiL FөDPӛWNӁWQӓLNӁW

Trang 36

Thu ӛFWtQKYjSKѬѪQJWKӫFFөD'DWD$GDSWHU

Data Adapter giao tiӁS YӝL FѪ Vӡ Gӱ OLӉX WURQJ NKL QKүQ WKêm mӝL [yD Yà cүS

nhүWGӱOLӉX1KӱQJWKXӛFWtQKVDXÿk\ÿѬӥFWKLӁWOүSÿӅWKӳFKLӉQQKӱQJWiFYӧkhác nhau trên mӛWKӉFѪVӡGӱOLӉX

ƒ SelectCommand - nhүQ Gӱ OLӉX Wӭ &6'/ WK{QJ TXD PӛW FkX WUX\ YҧQ KRҹF VWRUHGprocedures

ƒ InsertCommand - thêm dӱOLӉXYào CSDL qua câu lӉQKLQVHUW

Data Command

'DWD&RPPDQGOjÿӓLWѬӥQJ WKӳFWKL QKӱQJFkXOӉQK64/KRҹFVWRUHG SURFHGXUHÿѬӥF

sӯ GӧQJ ÿӅ WKDR WiF YӝL &6'/ 'DWD &RPPDQG Oj ÿӓL WѬӥQJ cөD OӝS 6TO&RPPDQG Yà OleDbCommand

Trang 38

conObj.Open();

OleDbCommand cmd = new OleDbCommand("select * from books");

OleDbDataAdapter da = new OleDbDataAdapter(cmd);

DataSet ds = new DataSet();

+ѬӝQJGҭQ

1 TңRPӛWGDWDDGDSWHU

2 TңRPӛW'DWDVHW

3 NhүQ[HPGӱOLӉXWӭFѪVӡGӱOLӉX

Trang 39

Data Binding

Khái ni ӉP'DWD%LQGLQJ

Sau khi nhүQ Gӱ OLӉX Wӭ FѪ Vӡ Gӱ OLӉX Gӱ OLӉX FҩQ ÿѬӥF KLӅQ WKӍ WUên nhӱQJcontrol cөD :LQGRZV )RUP ÿӅ QJѬӟL Vӯ GӧQJ WKҧ\ 4Xi WUình ÿy JӏL Oà Data Binding

Th ӳFKLӉQ'DWD%LQGLQJ thông qua câu lӉQKWUX\YҧQ

Trang 40

Ví dӧ VDXVҿ Oҧ\YӃ GDQKViFKQKӱQJTX\ӅQ ViFKFyQKà xuҧWEҥQOà công ty phát hành sách nhà xuҧWEҥQWUҽ (mã sӓLQ[E  

string connectionstring = "PROVIDER=SQLOLEDB;

OleDbDataAdapter da = new OleDbDataAdapter(cmd);

DataSet ds = new DataSet();

da.Fill(ds, "books");

MessageBox.Show(ds.Tables["books"].Rows.Count.ToString()); conObj.Close();

BңQOѬXý vӝLGòng lӉQK

cmd.Parameters.Add( "@ibookid" , 2);

Ĉây là cách sӯ GӧQJ QJұQ JӏQ NKL WUX\ӃQ WKDP Vӓ Pà nhӱQJ FKX\ên gia phát triӅQ

phҩQPӃPWKӳFWӁWKѬӟQJVӯGӧQJQJXyên mҭXFkXOӉQKFyF{QJWKӫFQKѬVDX

OleDbParameter param = new

OleDbParameter ("@paramname", OleDbType VarChar);

... Ү375ÌNH DÀNH CHO CÔNG VIӈ& 33

ADO.NET thao tác vӝLFѪVӡGӱOLӉX - 34

Gi ӝLWKLӉXYӃ$''21(7 35

Mơ hình ADO.NET 35

Data Provider 36

K...

T ңRPӛWGӳiQWURQJ9LVXDO6WXGLR1HW 47

Window Form Controls 51

Windows Form 51

Thu ӛFWtQK:LQGRZV)RUP 52

S ӳNLӉQWURQJ:LQGRZV)RUP... class="text_page_counter">Trang 7

L Ү375ÌNH NET (C#)

.NET nӃQ WҥQJ FKR SKpS SKiW WULӅQ QKӱQJ ӫQJ GӧQJ PӝL KRàn toàn cҥ KDLP{L WUѬӟQJ

Ngày đăng: 14/12/2016, 10:36

TỪ KHÓA LIÊN QUAN

w