Hunh Vn Thm Lp Trnh ADO NET S

  • Slides: 52
Download presentation
Huỳnh Văn Thâm Lập Trình ADO. NET Sử Dụng Các Wizard Trong Thiết Kế

Huỳnh Văn Thâm Lập Trình ADO. NET Sử Dụng Các Wizard Trong Thiết Kế 1

Các thành phần của ADO. NET Toolbar => Data + Sql. Connection: ChuổI kết

Các thành phần của ADO. NET Toolbar => Data + Sql. Connection: ChuổI kết nốI vớI SQL Server + Sql. Data. Adapter: Để kết nốI vớI Table Sql + Data. Set: Dùng để chứa dữ liểu. + Data. View: Dùng để lọc dữ liệu. + Sql. Command: Để thực hiện một câu lệnh SQL % Codes do VB tạo ra nằm trong: Initialize. Component() 2

3

3

Mã do VB. Net tự động phát sinh trong Windows Form Private Sub Initialize.

Mã do VB. Net tự động phát sinh trong Windows Form Private Sub Initialize. Component() …………. Me. Sql. Data. Adapter. Khach. Hang = New System. Data. Sql. Client. Sql. Data. Adapter Me. Data. Set 11 = New Phieu. Nhap. Data. Set 1 Me. Sql. Data. Adapter. Loai. Hang = New System. Data. Sql. Client. Sql. Data. Adapter Me. Sql. Connection 1 = New System. Data. Sql. Client. Sql. Connection Me. Sql. Data. Adapter. Hang. Hoa = New System. Data. Sql. Client. Sql. Data. Adapter Me. Sql. Data. Adapter. Phieu. Nhap = New System. Data. Sql. Client. Sql. Data. Adapter Me. Sql. Data. Adapter. Chi. Tiet. Phieu. Nhap = New System. Data. Sql. Client. Sql. Data. Adapter Me. Sql. Data. Adapter. Thieu. Chi = New System. Data. Sql. Client. Sql. Data. Adapter Me. Data. View. Hang. Hoa = New System. Data. View ………………. End Sud 4

Thành phần Sql. Connection + Click Toolbox + Click Data. + Click Sql. Connection

Thành phần Sql. Connection + Click Toolbox + Click Data. + Click Sql. Connection + Click Application (project đang tạo) + Click Right Sql. Connection 1 + Click Properties - Name: tên connection. - Connection. String: ChuổI Kết nốI vào SQL Server 5

Connection. String Click Combo. Box của Connection. String 6

Connection. String Click Combo. Box của Connection. String 6

+ Select or enter a server name: Chọn Computer Name hoặc Server Name +

+ Select or enter a server name: Chọn Computer Name hoặc Server Name + Select the database on the server: Chọn database trên server. + Test Connection: Kiểm tra chuổI kết nốI có thành công hay không. 7

Lời khuyên v Lưu chuỗi kết nối trong Registry hoặc file XML Configuration của

Lời khuyên v Lưu chuỗi kết nối trong Registry hoặc file XML Configuration của project. v Truy xuất chuỗi kết nối trong Registry : Registry. Key key = Registry. Local. Machine. Open. Sub. Key(“Software\My. Program”) Sql. Connection 1. Connect. String = key. Get. Value(“My. Connect. String”). to. String(); v Truy xuất chuỗi kết nối trong file XML Configuration: 8

Viết mã sự kiện cho thành phần Connection v Sự kiện State. Change được

Viết mã sự kiện cho thành phần Connection v Sự kiện State. Change được khởi phát mỗi khi trạng thái (đóng, mở, …) của Connection thay đổi. v Sự kiện Info. Message được khởi phát mỗi khi có thông điệp chuyển đến từ Database Server. 9

Thành phần Sql. Command + Connection : Kết nốI vớI Sql. Connection + Command.

Thành phần Sql. Command + Connection : Kết nốI vớI Sql. Connection + Command. Text: ChuổI thực hiện câu lệnh SQL Server. + Sau khi Chọn Connection thì mớI chọn Command. Text 10

v Xây dựng Commang. Text bằng Query. Builder. 11

v Xây dựng Commang. Text bằng Query. Builder. 11

12

12

v Sử dụng tham số (Parameters) trong Command. 13

v Sử dụng tham số (Parameters) trong Command. 13

Thành phần Data. Adapter v Data. Adapter chuyển giao dữ liệu từ nguồn sang

Thành phần Data. Adapter v Data. Adapter chuyển giao dữ liệu từ nguồn sang Dataset và ngược lại. Tạo Sql. Data. Adapter + Click Toolbox + Click Sql. Data. Adapter + Click Application (project đang tạo) 14

v Configure Data Adapter … 15

v Configure Data Adapter … 15

New Connection: Chọn kết nốI tớI dữ liệu SQL Server (giống Sql. Connection) 16

New Connection: Chọn kết nốI tớI dữ liệu SQL Server (giống Sql. Connection) 16

17

17

+ Use SQL Statements : Tạo theo điều kiện SQL (Tự tạo) + Created

+ Use SQL Statements : Tạo theo điều kiện SQL (Tự tạo) + Created new stored procedures: tạo mớI stored procedures + Created existing stored procedures: Lấy các stored procedures đã được tạo. 18

v Query Bulder : Xây dựng câu Query. 19

v Query Bulder : Xây dựng câu Query. 19

Tạo Insert, Update, Delete………. 20

Tạo Insert, Update, Delete………. 20

21

21

v Mã lệnh phát sinh sau khi configure Data. Adapter : Xem trong hàm:

v Mã lệnh phát sinh sau khi configure Data. Adapter : Xem trong hàm: Private Sub Initialize. Component() ‘Codes phát sinh End Sub 22

v Preview Data. Adapter : để xem dữ liệu (fill) + Click-Right Sql. Data.

v Preview Data. Adapter : để xem dữ liệu (fill) + Click-Right Sql. Data. Adapter 1. + Click Preview Data. . . + Click Fill Data. Set 23

v Fill Dataset : 24

v Fill Dataset : 24

v Generate Dataset : Từ Sql. Data. Adapter + Click-Right Sql. Data. Adapter 1

v Generate Dataset : Từ Sql. Data. Adapter + Click-Right Sql. Data. Adapter 1 + Click Generate Dataset • New: tạo Data. Set mới. • Existing: từ cái đã có. 25

v Generate Dataset : 26

v Generate Dataset : 26

v Tables Mapping : Trong Sql. Data. Adapter Dùng để thay đổI theo ý

v Tables Mapping : Trong Sql. Data. Adapter Dùng để thay đổI theo ý mình. ( Dataset table, Dataset Columms). Nên dùng Tables Mapping ngay sau khi vừa tạo xong Sql. Data. Adapter. 27

Thành phần Data. Set (Không kết nối với SQLServer) v Độc lập nguồn dữ

Thành phần Data. Set (Không kết nối với SQLServer) v Độc lập nguồn dữ liệu => sử dụng chung cho tất cả các loại Connection, nguồn dữ liệu XML. 28

v Typed Dataset: Tạo một đối tượng từ lớp con Dataset do người sử

v Typed Dataset: Tạo một đối tượng từ lớp con Dataset do người sử dụng định nghĩa, kế thừa từ lớp Dataset của. Net Frame. Work. Gọi là Dataset được định kiểu. v Untyped Dataset: Tạo một đối tượng Dataset trống, không có lược đồ (schema) dữ liệu. Gọi là Dataset chưa được định kiểu. Typed Data. Set v Có các thông tin về lược đồ (quan trọng nhất là kiểu dữ liệu của các cột trong bảng) được khai báo như là thành viên lớp tương thích với nguồn dữ liệu. Giúp tránh các lỗi khi Dataset được update vào nguồn dữ liệu. v Truy cập dữ liệu một cách tự nhiên: my. Dataset. my. Table. my. Column 29

v Tạo Typed Dataset: có 2 cách. 1. Generate Dataset từ Data. Adapter. 2.

v Tạo Typed Dataset: có 2 cách. 1. Generate Dataset từ Data. Adapter. 2. Add Dataset từ menu Project. v Add Dataset từ menu Project 1. Chọn menu Project Add New Item Dataset Open Hay Tool. Box Data. Set 2. Tạo lược đồ cho Dataset từ Database hoặc XML 30

Xem Dataset : Chọn dataset cần xem double click Ví dụ: Double click Dataset

Xem Dataset : Chọn dataset cần xem double click Ví dụ: Double click Dataset 1. xsd 31

Sơ đồ Schema của Dataset. xsd 32

Sơ đồ Schema của Dataset. xsd 32

Tạo khoá ngoại HANGHOA tham chiếu LOAIHANG 33

Tạo khoá ngoại HANGHOA tham chiếu LOAIHANG 33

Tạo Data. View Dùng để lọc dữ liệu trong Dataset + Click Toolbox +

Tạo Data. View Dùng để lọc dữ liệu trong Dataset + Click Toolbox + Click Data. View + Click Application(Project mà đang tạo) • Table: của Data. View dùng để kết với bản trong Dataset. • Row. Filter: Là giống như câu Where trong câu lệnh Selecte SQL Server 34

Thành phần Data. View 35

Thành phần Data. View 35

v Hiển thị tập con các mẩu tin trong một Data. Table : 1.

v Hiển thị tập con các mẩu tin trong một Data. Table : 1. Lọc các mẩu tin bằng một biểu thức lọc. 2. Lọc các mẩu tin theo trạng thái hàng. v Mỗi Typed Dataset chứa một đối tượng Default. View có thể được truy cập thông qua mã. v Cú pháp của biểu thức lọc tương tự như một mệnh đề WHERE trong SQL. v Có thể dùng tính chất Sort của Data. View để sắp xếp mẩu tin, cú pháp của tính chất Sort tương tự như mệnh đề ORDER BY trong SQL. Row. Filter: Lọc 36

Tạo Data. Gird + Click Toolbox + Click Windows Form + Click Data. Gird

Tạo Data. Gird + Click Toolbox + Click Windows Form + Click Data. Gird + Click Application (Project mà đang tạo) 37

Thành phần Data. Gird: Data. Source, Data. Member, Data. Bind, Auto Format v Kết

Thành phần Data. Gird: Data. Source, Data. Member, Data. Bind, Auto Format v Kết gán với Data. Table hoặc Data. View thông qua tính chất Data. Source và Data. Member. v Phương pháp Data. Bind được sử dụng để cập nhật những thay đổi của nguồn dữ liệu. v Có thể sử dụng wizard Auto Format để chọn các tập mẫu của Data. Gird. 38

Huỳnh Văn Thâm Sử Dụng Data. Reader 39

Huỳnh Văn Thâm Sử Dụng Data. Reader 39

Data. Reader v Hỗ trợ truy cập dữ liệu nhanh, one-way, read-only. v Chỉ

Data. Reader v Hỗ trợ truy cập dữ liệu nhanh, one-way, read-only. v Chỉ đọc dữ liệu từ server từng dòng riêng rẽ nên không tốn bộ nhớ. v Chỉ được tạo thông qua phương pháp Execute. Reader của đối tượng Command. v Connection phải được mở trước khi gọi Execute. Reader v Phương pháp Close của Data. Reader phải luôn được gọi khi Data. Reader không còn cần sử dụng để giải phóng Connection. 40

Các phương pháp và tính chất quan trọng v Get. Schema. Table Trả về

Các phương pháp và tính chất quan trọng v Get. Schema. Table Trả về 1 Data. Table mô tả lược đồ của tập mẩu tin kết quả truy vấn dữ liệu. 41

v Read Dời sang mẩu tin kế tiếp trong tập kết quả. v Close

v Read Dời sang mẩu tin kế tiếp trong tập kết quả. v Close Đóng đối tượng Data. Reader. v Next. Result Chuyển sang tập mẩu tin kết quả kế tiếp (trường hợp Data. Reader chứa nhiều kết quả truy vấn). v Field. Count Lấy số lượng các cột trong hàng hiện hành. v Get. Ordinal(string column) Trả về chỉ số của cột có tên tương ứng. 42

Phương thức Execute. Reader của Command v Cú pháp: reader = command. Excute. Reader(t)

Phương thức Execute. Reader của Command v Cú pháp: reader = command. Excute. Reader(t) t enum Command. Behavior v enum Command. Behavior Close. Connection Schema. Only Single. Result Single. Row Vd: command. Execute. Reader(Command. Behavior. Close. Connecti on | Command. Behavior. Single. Row) 43

Truy cập Data. Reader với nhiều tập mẩu tin kết quả String sql =

Truy cập Data. Reader với nhiều tập mẩu tin kết quả String sql = “select * from Hang. Hoa; select * from Khach. Hang” Sql. Command command = new Sql. Command(sql, conn) conn. Open() Sql. Data. Reader reader = command. Execute. Reader(); do { while (reader. Read()) { } } while (reader. Next. Result()); 44

Chương 6: Sử Dụng Data. Adapter 45

Chương 6: Sử Dụng Data. Adapter 45

v Data. Adapter làm việc với Dataset để cung cấp cơ chế truy cập

v Data. Adapter làm việc với Dataset để cung cấp cơ chế truy cập dữ liệu không giữ kết nối. v Mô hình thừa kế của các lớp Data. Adapter trong. Net Frame. Work : Data. Adapter Db. Data. Adapter Sql. Data. Adapter Ole. Data. Adapter Odbc. Data. Adapter Oracle. Data. Adapter v Data. Adapter quản lý 4 command ở dạng tính chất lớp : Select. Command, Insert. Command, Update. Command, Delete. Command. 46

Phương thức Fill v Sử dụng command Select. Command để truy vấn dữ liệu,

Phương thức Fill v Sử dụng command Select. Command để truy vấn dữ liệu, kết quả trả về được điền vào Data. Set. Vd: Me. Sql. Select. Command 1 = New System. Data. Sql. Client. Sql. Command Me. Sql. Select. Command 1. Command. Text = "SELECT HH_Ma. Hang, HH_Ten. Hang, HH_So. Luong, HH_Gia. Nhap, HH_Ma. Loai FROM HANGHOA" Me. Sql. Select. Command 1. Connection = Me. Sql. Connection 1 Me. Sql. Data. Adapter 1. Select. Command = Me. Sql. Select. Command 1 Dim ds as new Data. Set(“Authors”) Me. Sql. Data. Adapter 1. Fill(ds, ”Table 1”) v Phải mở và đóng Connection trước và sau khi thực hiện phương thức Fill 47

Điền dữ liệu vào Data. Set đã có sẵn Schema v Xác định tính

Điền dữ liệu vào Data. Set đã có sẵn Schema v Xác định tính chất Missing. Schema. Action của Data. Adapter : Data. Adapter. Missing. Schema. Action = Missing. Schema. Action. Add Bổ sung mọi cột còn thiếu trong Schema Data. Adapter. Missing. Schema. Action = Missing. Schema. Action. Add. With. Key Bổ sung mọi cột còn thiếu trong Schema, cập nhật khóa chính Data. Adapter. Missing. Schema. Action = Missing. Schema. Action. Error Phát sinh ngoại lệ (Exception) với từng cột bị thiếu Data. Adapter. Missing. Schema. Action = Missing. Schema. Action. Ignore Bỏ qua mọi cột thiếu 48

Phương thức Fill. Schema v Schema : Lược đồ của tập dữ liệu, bao

Phương thức Fill. Schema v Schema : Lược đồ của tập dữ liệu, bao gồm cấu trúc và quan hệ của các bảng dữ liệu. Me. Sql. Select. Command 1 = New System. Data. Sql. Client. Sql. Command Me. Sql. Select. Command 1. Command. Text = "SELECT HH_Ma. Hang, HH_Ten. Hang, HH_So. Luong, HH_Gia. Nhap, HH_Ma. Loai FROM HANGHOA" Me. Sql. Select. Command 1. Connection = Me. Sql. Connection 1 Me. Sql. Data. Adapter 1. Select. Command = Me. Sql. Select. Command 1 Dim ds as new Data. Set(“Authors”) Me. Sql. Data. Adapter 1. Fill. Schema(ds, Schema. Type. Source, ”Table 1”) v enum Schema. Type : Schema. Type. Source Schema. Type. Mapping 49

v Khi có thao tác thay đổi dữ liệu trong một bảng của Data.

v Khi có thao tác thay đổi dữ liệu trong một bảng của Data. Set, các dòng bị thay đổi sẽ được ghi nhận qua tính chất Row. State. v Row. State nhận các giá trị : Data. Row. State. Added Cho biết dòng mới được thêm vào Data. Row. State. Deleted Cho biết dòng đã bị xóa Data. Row. State. Detached Cho biết dòng không thuộc về tập dữ liệu gốc của Data. Set Data. Row. State. Modified Cho biết dòng đã bị thay đổi Data. Row. State. Unchanged Dòng không bị thay đổi 50

Phương thức Update v Cập nhật dữ liệu từ Data. Set vào cơ sở

Phương thức Update v Cập nhật dữ liệu từ Data. Set vào cơ sở dữ liệu gốc. v Nội dung hoạt động của Update: duyệt qua từng khoản tin trong Data. Set, phân tích giá trị Row. State và gọi 1 trong 4 command tương ứng của Data. Adapter : Select, Insert, Update và Delete. v Command Select được định nghĩa ngay từ đầu khi tạo Data. Adapter, sử dụng để truy vấn dữ liệu và điền vào Data. Set (có thể được định nghĩa tường minh, hoặc thông qua hàm dựng của Data. Adapter). v Các command Insert, Update, Delete sử dụng cho phương thức Update, có thể được người sử dụng định nghĩa hoặc được phát sinh tự động bằng cách sử dụng Command. Builder : Dim Sql. Command. Builder as new Sql. Command. Builder(Data. Adapter) 51

v Hạn chế khi sử dụng Command. Builder : Chỉ sử dụng cho Data.

v Hạn chế khi sử dụng Command. Builder : Chỉ sử dụng cho Data. Adapter kết nối đến 1 bảng dữ liệu. Bảng dữ liệu phải được chỉ định khóa chính. v Định nghĩa các command Insert, Update, Delete cho Data. Adapter: tạo các command với Command. Text có chuỗi SQL tương ứng, sử dụng các tham số cho các cột dữ liệu. 52