1. Trang chủ
  2. » Mẫu Slide

xử lý dữ liệu với ADO.NET

70 562 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 70
Dung lượng 7,03 MB

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

Nội dung

xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET xử lý dữ liệu với ADO.NET

Trang 1

LÂP TRINH WEB ASP.NET

Trang 2

N i dung chính

 Gi i thi u v ADO.NET

 Các đ i t ng trong ADO.NET

 i u khi n liên k t d li u

Trang 3

Gi i thi u v ADO.NET

 ADO.NET (Active Data Object) là m t ph n c a NET Framework, cung c p các d ch v x lý d li u

 Làm vi c v i d li u không k t n i

 D li u đ c l u tr trong m t CSDL thu nh g i là DataSet

=>t ng t c đ tính toán, gi m s d ng tài nguyên trên Database server

 Kh n ng x lý d li u d ng chu n XML =>làm vi c v i nhi u

ng d ng khác

Trang 4

Gi i thi u v ADO.NET

Trang 5

Gi i thi u v ADO.NET

 Ki n trúc ADO.NET có hai đ i t ng chính: Dataset (data table) và NET data provider (Data Adapter, DataReader, Command, Connection)

 Dataset l u data t Database

 nh n data t CSDL, DataAdapter dùng câu l nh SELECT trong Command, đ c p nh t data dùng INSERT, UPDATE, DELETE

Trang 7

Các thành ph n trong ADO.NET

 Managed provider component: g m DataAdapter, DataReader

gi nhi m v làm vi c tr c ti p nh t p tin, database,…

 Content component: g m Dataset, DataTable, đ i di n cho d

li u th c s c n làm vi c

 DataReader là đ i t ng m i, giúp vi c truy xu t d li u nhanh chóng nh ng ch đ c phép đ c và di chuy n t i

 Dataset c ng là đ i t ng m i, không ch là d li u, Dataset còn

có th coi là m t b n sao g n nh c a CSDL trong b nh v i nhi u b ng và có các m i quan h Dataset h tr XML thông qua đ i t ng XMLDataDocument.

 DataAdapter là đ i t ng k t n i gi a DataSet và CSDL Nó

Trang 8

Các thành ph n trong ADO.NET

Trang 9

Các thành ph n trong ADO.NET

Trang 10

Các thành ph n trong ADO.NET

 DataSet dùng đ ch a d li u l y t CSDL l n ( SQL, Aceess) sau đó m i thông tin c n thi t s đ c truy xu t t DataSet

 Nói 01 cách khác DataSet là CSDL thu nh t CSDL l n

 Trong Dataset s ch a các b ng là thông tin mà chúng ta c n

l y.Trong DataSet s có nhi u DataTable và các m i quan h

gi a chúng đ i di n b i các DataRelation

 Dataset gi ng nh là hình nh v CSDL trong b nh

Trang 11

Các thành ph n trong ADO.NET

 L i ích trong vi c s d ng DataSet

 Hoàn toàn trong b nh : M t Table trong Dataset là m t Array of Rows, nên ta có th dùng th ng (direct access) m t record b ng cách nói đ n cái Row ch a nó, ch không c n ph i dùng MoveNext, MovePrev,.v.v

 Làm nh công tác c a Database server T t c m i công tác s a đ i d

li u đ u đ c th c hi n trong Dataset

 Dataset có th đ c bi u di n b ng m t XML (eXtensible Marked Language)

Trang 12

Các thành ph n trong ADO.NET

 DataTable là 01 thành ph n trong Dataset

 DataTable ch a d li u c a 01 b ng trong Dataset và thu c l p DataTable.Datable bao g m

• T p h p Columns thuôc l p DataColumnCollectiontrong đó m i c t

là m t đ i t ng thu c l p DataColumn

• T p h p Rows thuôc l p DataRowCollectiontrong đó m i c t là m t

đ i t ng thu c l p DataRow

Trang 13

• Duy t d li u trong các b ng theo m i quan h Master – Detail

 aM t đ i t ng ki u DataRelation bao g m các thông tin:

• Tên c a Parent Table và Child Table

• Các column trong DataRelation đ i di n cho PrimaryKey trong Parent và ForeignKey trong Child Table

Trang 14

Các thành ph n trong ADO.NET

 DataRelation:

 V i DataRelation, ADO.NET cung c p cho ng i l p trình m t cách th c m i đ x lý d li u D li u v n n m trong các b ng thay vì b gom t nhi u b ng thành 01 RecordSet nh ng v n có

th truy c p d dàng và hi u qu

 Ví d : trong parent table có 10 dòng, m i dòng trong Parent table

có 10 dòng con trong Child table

 Cách c : dùng 01 truy v n k t h p hai b ng đ l y 1 l n 100

m u tin hay dùng 02 RecordSet, m i l n RecordSet Master thay

đ i m u tin hi n hành thì m l i RecordSet Detail

Trang 15

Các thành ph n trong ADO.NET

 DataRelation:

 Khuy t đi m: d li u b l y th a vì không ch c ng i dùng s đi xem h t 100 m u tin đã l y và khó thao tác thêm, s a, xóa, V i cách th 2, d li u ch l y v a đ nh ng ch m h n vì m i l n thay đ i Master l i ph i truy v n d li u cho Detail

 Ph Ph ng ph ng ph áp m i: Ch c n l y d li u 01 l n duy nh t

nh ng d li u v n n m trong các b ng, d dàng thao tác x lý

Trang 16

 Các giá tr c a ForeignKeyContraint là:

 None: không làm gì c

 Cascade: ph thu c vào dòng trên parent table s b c p nh t hay xóa

 SetDefault:giá tr c a c t khóa ngo i trên detail table đ c đ t v giá

tr m c đ nh khi dòng trên parent table b xóa

 SetNull: gi ng SetDefault , giá tr đ c đ t là NULL

Trang 17

Các thành ph n trong ADO.NET

 aDataView g n gi ng v i khái ni m RecordSet c a ADO Trên a

m t DataTable có th t o nhi u DataView v i các đi u ki n l c,

s p x p d li u khác nhau Trên DataView ta có th xem hay thay đ i giá tr các m u tin

 DataView c a ADO.NET có nhi m v k t n i v i các control c a WinForm và Web Form

Trang 19

Các c đ đ i t ng trong ADO.NET

<%@ Import Namespace="System.Data.OleDb" %>

-Các đ i t ng và ki u c b n ph c

v ADO.NET-Các l p đ c thi t k đ làm vi c

v i b t k ngu n d li u nào

- Thi t k t i u cho CSDL SQL server

Trang 20

 C OleDBConnection và SQLConnection đ u có các thu c tính

và ph ng th c gi ng nhau nh ConnectionString , State hay Open

- Các Provider mà OLEDB và SQL có th k t n i d li u:

 SQLOLEDB: OLEDB Provider c a Microsoft cho SQL Server

 MSDAORA: OLEDB Provider c a Microsoft cho Oracle

 JOLT: OLEDB Provider cho Jet

Trang 21

i t ng Connection

 Connection String:Cung c p thông tin c n thi t cho k t n i

 Tr c khi th c hi n k t n i c n thông báo các thông tin c n

thi t cho Connection thông qua thu c tính Connection String Cách khai báo thay đ i tùy thu c vào Data Provider

 Ph thu c vào Data Provider

 OleDB Provider có th g m các thành ph n:

Trang 22

i t ng Connection

 Ví d 1: T o connection đ n CSDL Microsoft Access

 Ví d 2: T o connection đ n CSDL SQL Server

Trang 23

i t ng Connection

Trang 24

i t ng Connection

 Ví d 3: T o connection đ n CSDL SQL Server

Trang 25

i t ng Connection

 Ví d 4: T o connection đ n CSDL SQL Server

Trang 26

Microsoft OLEDB Provider for SQL Server

Trong Tab Provider

Trang 28

Provider=SQLOLEDB.1;Persist Security Info=False;User

ID=etest;Initial Catalog=ETEST;Data Source=GOATM

Trang 29

Security=SSPI;Persist Security Info=False;Initial

Catalog=ETEST;Data Source=GOATM”

Dim cnn as new SqlConnection(strconnection)

Trang 30

i t ng Connection

 Các ph ng th c c n chú ý trong Connection

 Close: đ óng k t n i v i ngu n d li u S d ng ph ng

th c này đ đóng Connection đang m

 Open: Th c hi n k t n i v i các thông tin đã khai báo trong ConnectionString

 Dispose: Xóa m i tài nguyên liên quan đ n Connection trên vùng nh

 CreateCommand: T o và tr v 01 Command d a vào Connection hi n hành

 Ví d :

 ConnDB.Open()

 ConnDB.Close()

 ConnDB.Dispose()

Trang 31

i t ng Connection

 M t s đ c tính quan tr ng khác c a OleDbConnection

Tr v version c a ngu n CSDLString

ServerVersi

Tr v tên CSDL đã k t n iString

Database

kho ng th i gian c g ng t o liên

k tVD: ConnString= "Provider….;

Trang 32

i t ng Command

 Sau khi t o k t n i đ n ngu n d li u, m i thao tác trên ngu n

d li u đó đ u đ c th c hi n thông qua Command Tùy theo

lo i Connection, đ i t ng Command thu c tên mi n sau:

Trang 33

i t ng Command

 Khai báo và s d ng đ i t ng Command:

 đ i v i SqlConnection:

• Dim MyCom As SqlCommand

• MyCom = New SqlCommand(ConnString, ConnDB)

 đ i v i OleDbConnection

• Dim MyCom As OleDbCommand

• MyCom = New OleDbCommand(ConnString,ConnDB)

Trang 34

i t ng Command

II.COMMAND:

Các thu c tính c a Command:

 CommandText: l nh SQL hay tên Procedure mu n th c hi n

trên ngu n d li u (đ c ghi)

 CommandType:giá tr cho bi t n i dung CommandText là gì

v i các giá tr nh sau:

 Text: (m c đ nh)m t câu l nh SQL

 StoreProcedure: tên 01 th t c n i

 TableDirect: khi CommandType có giá tr này, CommandText là

tên c a 01 b ng Khi Command th c hi n s tr v đ các dòng

và c t ( ch dùng cho OleDbCommand)

Connection: i t ng Connection s d ng cho Command

Parameters: T p h p các tham s dùng trong Command

Trang 35

i t ng Command

 Các ph ng th c th c hi n Command

c p nh t INSERT, UPDATE, DELETE mà không quan tâm

đ n d li n tr v

Trang 36

i t ng Command

li u m i l n m t dòng v i method Read() DataReader đ c d

li u tr c ti p t Database => duy trì k t n i cho đ n khi đ c xong

 ExecuteScalar: ph ng th c này th c hi n l nh c a Command và ch tr v giá tr c a c t đ u tiên hay dòng đ u tiên Chúng ta th ng g i ph ng th c này khi mu n Command th c hi n các l nh tính toán Sum, COUNT, AVG…trên ngu n d li u ngay lúc th c thi Cú pháp nh sau:

Trang 37

i t ng Command

II.Paramater:

- L nh SQL trong CommandText có th s d ng các d u ? thay

th cho tr không xác đ nh và khi th c hi n s dùng đ i t ng Parameter đ truy n giá tr vào các d u ? Tùy theo Command, Paramater s khai báo t l p OleDBParameter hay SQLParameter Cú pháp khai báo:

Dim <tên parameter> as new OleDbParameter | SqlParameter

Dim <tên parameter> as new OleDbParameter | SqlParameter(<tên>

Trang 38

i t ng Command

Paramater:

Các thu c tính c a Parameter:

 Direction: giá tr cho bi t lo i tham s v i các giá tr sau: (đ c ghi)

 input(m c đ nh): lo i tham s đ u vào

 InputOutput: lo i tham s vào và ra

 ParameterName: tên tham s (đ c ghhi)

 Value: giá tr c a tham s (đ c ghi)

Trang 39

i t ng Command

Paramater:

Ví d 1:

cmd.CommandText=“select * from CTNHAP where sopn=@sp”

Dim par as SqlParameter=cmd.CreateParameter()

Par.Parametername=“@sp”

Par.Value=“PN01”

cmd.Parameter.Add(Par)

Trang 40

i t ng Command

Paramater:

Ví d 2:

cmd.CommandText=“select * from CTNHAP where sopn=@sp and mavtu=@vt”

Ts1.Value=“S001”

Dim ts2 as SqlClient.Sqlparameter=cmd.parameters.Add(“@sp”,sqlDbType.Char,4) Ts2.Value=“PN01”

Trang 41

Quy trình s n xu t 01 CSDL SDL đ n gi đ n gi n

trong ASP.NET

Trang 42

Ví d : Create a Database Connection

Trang 43

Ví d : Create a Database Command

Trang 44

Ví d : Create a DataReader

Trang 45

Bind to a Repeater Control and

Close the Database Connection

Trang 46

Repeater Control

Trang 48

DataSet

Trang 49

Ví d : T o o đ đ i t ng DataSet

Trang 50

 Các thu c tính c a DataSet:

 DataSetName: Tên c a DataSet ( đ c ghi)

 HasErrors: giá tr cho bi t l i x y ra trên 01 trong các b ng c a DataSet: True/False ( ch đ c)

 Relations: t p h p các quan h (DataRelation) m t nhi u c a Dataset ( ch đ c)

 Tables: T p h p các b ng (DataTable) c a DataSet (ch đ c)

Trang 51

Các ph c ph ng th ng th c c a Dataset

 Thêm m t b ng vào Dataset

 Mu n đ a 01 b ng DataTable vào Dataset, chúng ta dùng

ph ng th c Add c a t p h p Tables:

 Cú pháp:

• Tables.Add(): b ng đ c t o có tên table1, table2,…

• Tables.Add(<tên b ng>): 01 b ng m i đ c t o thành trong Dataset có tên là <tên b ng>

 Chú ý: tên b ng có phân bi t ch hoa, ch th ng

Trang 52

Các ph c ph ng th ng th c c a Dataset

 Xóa b ng ra kh i dataset:

 Tables.Remove(<b ng>): xóa b ng ra kh i t p h p Table

 Xóa b ng có ch s là <ch s > ra kh i t p h p Tables: Tables.RemoveAt(<ch s >)

 Xóa t t c các b ng ra kh i danh sách: Tables.Clear()

 L nh ki m tra B ng có th xóa hay không? :

 Tables.CanRemove(<b ng>):

• Tr v True: có th xóa

• False: không th xóa vì đang x d ng

Trang 54

Các ph c ph ng th ng th c c a Dataset

t o 01 quan h gi a hai b ng trong DataSet:

Chúng ta s d ng cú pháp Add c a t p h p Relation trong Dataset

v i các cú pháp sau:

Relations.Add(<tên quan h >,<m ng DataColumn trên b ng cha>,

<m ng DataColumn trên b ng con>)

Relations.Add(<tên quan h >,< DataColumn trên b ng cha>,<

DataColumn trên b ng con>, < t o ràng bu c>)

Trang 55

Các ph c ph ng th ng th c c a Dataset

Xóa quan h kh i DataSet: ta dùng ph ng th c sau:

Relations.Remove(<quan h >)

 Xóa quan h ra kh i t p h p Relations c a Dataset

Relations.Remove(< tên quan h >)

 Xóa quan h < tên quan h > ra kh i t p h p Relations c a

Dataset

Ki m tra quan h có xóa đ c hay không ?

Relations.CanRemove(<quan h >)

Trang 56

 L y c u trúc và d li u c a các b ng trong ngu n d li u vcho DataSet và c p nh t các thay đ i v ngu n d li u g c

Trang 57

 DataAdapter là m t b g m b n đ i t ng Command:

 SelectCommand: cho phép l y thông tin t ngu n d li u v

 InsertCommand: cho phép chèn thêm d li u vào b ng trong ngu n

d li u

 UpdateCommand: cho phép s a đ i d li u trog ngu n d li u ngu n

 DeleteCommand: cho phép h y b d li u trên b ng trong ngu n d

Trang 58

DataAdapter

Trang 59

 TableMappings

Trang 60

 TableMappings

Trang 61

T o DataAdapter

Trang 62

Các ch c n ng c a DataAdapter

 L y d li u t ngu n v cho DataSet, DataTable qua method Fill

Trang 63

Các ch c n ng c a DataAdapter

 L y c u trúc d li u t ngu n

Trang 64

Các ch c n ng c a DataAdapter

 T o b l nh c p nh t cho DataAdapter

Trang 65

 D li u các b ng trong ngu n d li u đ c l y v và đ a vào các DataTable DataTable thu c tên mi n:

 System.Data.DataTable

 Cách khác: Dim Bang_x as New DataTable

 Cách khác: Dim bang_x as New DataTable(<tên b ng)

Trang 66

DataTable – T p h p Rows

 Rows là t p h p các dòng d li u c a b ng vì v y m i tham chi u

đ n dòng đ u thông qua t p h p này

Trang 69

Các thu c tính c a DataView

Tr ng thái dòng d li u trên DataView + Added: dòng m i thêm nh ng ch a c p nh t +CurrentRows: t t c các dòng không thay đ i, m i và

Tr v dòng d li u trên b ng theo tham s truy n vào Item

S m u tin trên DataView Count

Cho phép thao tác thêm m i b ng AddNew AllowNew

Cho phép thao tác s a đ i trên DataView

AllowEdit

cho phép thao tác xóa dòng trên DataView AllowDelete

Ngày đăng: 08/05/2015, 00:41

TỪ KHÓA LIÊN QUAN

w