Bài giảng Lập trình Web ASP.NET - Chương 4: Xử lý dữ liệu với ADO.NET

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

pdf 72 trang phuongnguyen 3060
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình Web ASP.NET - Chương 4: Xử lý dữ liệu với ADO.NET", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Lập trình Web ASP.NET - Chương 4: Xử lý dữ liệu với ADO.NET

Bài giảng Lập trình Web ASP.NET - Chương 4: Xử lý dữ liệu với ADO.NET
 Trường Đại Học Lạc Hồng 2009 - 2010 
 LẬP TRÌNH 
 WEB ASP.NET 
 Ts. Vũ Đức Lung 
 Ks. Phan Hữu Tiếp 
 Chương 4: 
Xử Lý Dữ Liệu Với ADO.NET 
1  LHU 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 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 
 2 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
3 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Giới thiệu về ADO.NET 
 Ứng dụng cần CSDL: người dùng, ứng dụng, file, 
 CSDL quan hệ => lưu trữ theo hệ quản trị CSDL: Access, MS 
 SQL Server, Oracle. 
 Người thiết kế quan tâm: 
 . Lưu trữ dữ liệu tập trung 
 . Đảm bảo toàn vẹn dữ liệu 
 . Khả năng truy xuất đồng thời 
 . Thời gian hồi đáp ngắn 
 . Bảo mật dữ liệu 
 . Trao đổi giữa các hệ thống khác nhau 
 4 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 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 
 5 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
Giới thiệu về ADO.NET 
 6 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 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 
 7 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Giới thiệu về ADO.NET 
 Các thành phần trong ADO.NET 
 . DataSet 
 . DataTable 
 . DataView 
 . DataRow 
 . DataColumn 
 . DataRelation 
 8 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 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ó 
 gồm Connection và Commmand, để cung cấp dữ liệu cho 
 Dataset, cũng như cập nhật dữ liệu từ DataSet xuống CSDL. 
 9 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
Các thành phần trong ADO.NET 
 10 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Các thành phần trong ADO.NET 
 DataSet: 
 . 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ớ . 
 11 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 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) 
 12 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Các thành phần trong ADO.NET 
 DataTable: 
 . 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. DataTable bao gồm 
 • Tập hợp Columns thuôc lớp DataColumnCollection trong đó mỗi cột 
 là một đối tượng thuộc lớp DataColumn 
 • Tập hợp Rows thuôc lớp DataRowCollection trong đó mỗi cột là một 
 đối tượng thuộc lớp DataRow 
 13 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Các thành phần trong ADO.NET 
 DataRelation: 
 . Dataset bao gồm tập hợp các table đại diện bởi các đối tượng 
 DataTable và quan hệ giữa các table đó đại diện bởi các đối 
 tượng DataRelation 
 . DataRelation, người dùng có thể: 
 • Định nghĩa mối quan hệ giữa các bảng 
 • Duyệt dữ liệu trong các bảng theo mối quan hệ Master – Detail 
 . Mộ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 
 14 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 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 
 15 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 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ươ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ý 
 16 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Các thành phần trong ADO.NET 
 Ràng Buộc Trên Quan Hệ: ADO.NET chỉ cho phép xác định 02 
 loại ràng buộc 
 . UniqueConstraint: đảm bảo tính duy nhất về giá trị của một cột trong 
 table 
 . ForeignKeyContraint: chỉ ra cách ứng dụng sẽ thực hiện khi cập nhật 
 hay xóa dữ liệu trên bảng có quan hệ với bảng khác 
 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 
 17 
 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Các thành phần trong ADO.NET 
 DataView: 
 . DataView gần giống với khái niệm RecordSet của ADO. Trên 
 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 
 18 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Điểm nổi bật trong ADO.NET 
 Tương tác giữa nhiều hệ thống khác nhau (Interoperability) 
 Hỗ trợ nhiều người dùng (Scanlability) 
 Mở rộng khả năng làm việc với CSDL (Productivity) 
 Hiệu quả cao trong xử lý dữ liệu (Performance) 
 Cơ chế làm việc ở ADO.NET: 
 . Xử dụng dữ liệu ở dạng disconnect data 
 . Client tạo kết nối với server để lấy dữ liệu 
 . Server gửi dữ liệu về cho Client 
 . Client ngắt kết nối với Server 
 . Khi cần cập nhật dữ liệu, kết nối giữa Client và Server được 
 phục hồi 
 . Thời gian kết nối giữa Client và Server không còn lâu như trước 
 19 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Các đối tượng trong ADO.NET 
 Khai báo và sử dụng không gian tên (namespace) 
 Namespace Mục đích 
-System.Data -Các đối tượng và kiểu cơ bản phục 
 vụ ADO.NET 
-System.Data.OleDb -Các lớp được thiết kế để làm việc 
 với bất kỳ nguồn dữ liệu nào 
-System.Data.SqlClient - Thiết kế tối ưu cho CSDL SQL 
 server 
 20 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Đối tượng Connection 
  Data Provider: 
 . Data Provider có sẵn trong ADO.NET 
 • System.Data.OleDb 
 • System.Data.SqlClient 
 Ứng với mỗi tên miền có một connection tương ứng 
 . System.Data.OleDb.OleDbConnection 
 . System.Data.SqlClient.SqlConnection 
 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 
 21 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Đố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: 
 22 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Đối tượng Connection 
 Ví dụ 1: Tạo connection đến CSDL Microsoft Access 
 Ví dụ 2: Tạo connection đến CSDL SQL Server 
 23 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
Đối tượng Connection 
 24 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Đối tượng Connection 
 Ví dụ 3: Tạo connection đến CSDL SQL Server 
 25 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Đối tượng Connection 
 Ví dụ 4: Tạo connection đến CSDL SQL Server 
 26 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 CÁC ĐỐI TƯỢNG TRONG ADO.NET 
I.CONNECTION: 
Các bước thực hiện tiến hành kết nối 
Bước 1: tạo 1 file có đuôi .UDL. Nhấp đúp vào file để kích hoạt 
Bước 2: 01 hộp thoại xuất hiện: 
Chọn mục: 
Microsoft OLEDB Provider for SQL Server 
Trong Tab Provider 
 27 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 CÁC ĐỐI TƯỢNG TRONG ADO.NET 
 I.CONNECTION: 
1.Gõ tên 
 Server 
 2. Chọn 
 quyền kết 
 nối 
 3 .Nhập 
 username và 
 pass word 
 4. Chọn 
 5. Nhấn 
Database 
 TestConnection 
 sử dụng 
 28 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 CÁC ĐỐI TƯỢNG TRONG ADO.NET 
I.CONNECTION: 
Bước 3: Mở File vừa tạo bằng Notepad ta sẽ có chuỗi kết nối. 
Đăng nhập bằng quyền Window 
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist 
 Security Info=False;Initial Catalog=ETEST;Data 
 Source=GOATM 
Đăng nhập bằng username và password 
Provider=SQLOLEDB.1;Persist Security Info=False;User 
 ID=etest;Initial Catalog=ETEST;Data Source=GOATM 
 29 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 CÁC ĐỐI TƯỢNG TRONG ADO.NET 
I.CONNECTION: 
Tạo connection đến CSDL SQL: 
Imports System.Data.slqClient 
Dim strconnection as string 
Strconnection=“Provider=SQLOLEDB.1;Integrated 
 Security=SSPI;Persist Security Info=False;Initial 
 Catalog=ETEST;Data Source=GOATM” 
Dim ConnDB as new SqlConnection(strconnection) 
 30 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Đố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() 
 31 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Đối tượng Connection 
  Một số đặc tính quan trọng khác của OleDbConnection 
 Đặc tính Dạng data Ý nghĩa 
Connection Int32 khoảng thời gian cố gắng tạo liên 
Timeout kết 
 VD: ConnString= "Provider.; 
 Connect Tirneout=11" 
Database String Trả về tên CSDL đã kết nối 
ServerVersi String Trả về version của nguồn CSDL 
on 
State StateConnection Trả về trạng thái hiện tại của đối 
 (0,1,2,4,8,16) tượng: actived hay hủy rồi 
 32 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Đố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: 
 33 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Đố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) 
 34 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Đố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 
 35 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Đối tượng Command 
 Các phương thức thực hiện Command 
 . ExecuteNonquery: Dùng để gọi thực hiện các câu truy vấn 
 cập nhật INSERT, UPDATE, DELETE mà không quan tâm 
 đến dữ liện trả về. 
 36 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Đối tượng Command 
 ExecuteReader: Trả về một đối tượng DataReader để đọc dữ 
 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 
 . Gọi: MyCom.ExecuteReader() 
 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: 
 . MyCom.ExecuteScalar() 
 37 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Đố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 as new OleDbParameter | SqlParameter 
Dim as new OleDbParameter | SqlParameter() 
Dim as new OleDbParameter | SqlParameter(, 
 ) 
 38 
 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Đố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 
 Output: loại tham số ra 
 ReturnValue: loại tham số nhận giá trị trả về của 01 thủ tục nội, 
 một hàm hay một hàm do người dùng định nghĩa 
 OledbType / SqlDBType :kiểu dữ liệu Oledb hay SqlDB của tham 
 số(đọc ghi) 
 ParameterName: tên tham số (đọc ghhi) 
 Value: giá trị của tham số (đọc ghi) 
 39 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Đố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) 
 40 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Đối tượng Command 
Paramater: 
Ví dụ 2: 
cmd.CommandText=“select * from CTNHAP where sopn=@sp and mavtu=@vt” 
Dim ts1 as SqlClient.Sqlparameter=cmd.parameters.Add(“@vt”,sqlDbType.Char,4) 
Ts1.Value=“S001” 
Dim ts2 as SqlClient.Sqlparameter=cmd.parameters.Add(“@sp”,sqlDbType.Char,4) 
Ts2.Value=“PN01” 
Chú thích: thứ tự đưa tham số vào tùy ý vì phải chỉ đúng tên tham số trong SQL 
 41 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
Quy trình truy xuất 01 CSDL đơn giản 
 trong ASP.NET 
 42 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
Ví dụ: Create a Database Connection 
 43 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
Ví dụ: Create a Database Command 
 44 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
Ví dụ: Create a DataReader 
 45 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
Bind to a Repeater Control and 
Close the Database Connection 
 46 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
Repeater Control 
 47 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Tạo kết nối với CSDL động 
 Demo tạo kết nối và hiển thị 
 DataSet 
 DataAdapter 
 DataTable 
 DataView 
 48 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 DataSet 
 Đây là 01 mô hình thu nhỏ đáp ứng nhu cầu của ứng dụng 
 DataSet chứa các bảng(DataTable), các quan 
 hệ(DataRelation) và các ràng buộc ( Contraint) 
 DataSet thuộc tên miền sau: System.Data.DataSet 
 Các chức năng chính của DataSet: 
 . Làm việc với dữ liệu không liên kết 
 . Khả năng dịch chuyển, sắp sếp, tìm và lọc dữ liệu 
 . Cache những thay đổi 
 . Làm việc với XML-document 
 Khai báo Dataset 
 . Cú pháp: New System.Data.Dataset() 
 . Hoặc New system.Data.DataSet() với : tên của DataSet 
 . Cách khác: Ta có thể dùng công cụ DataSet trong hộp thoại ToolBox 
 49 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
Ví dụ: Tạo đối tượng DataSet 
 50 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 DataSet 
 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) 
 51 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Các phươ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(): 01 bảng mới được tạo thành trong 
 Dataset có tên là 
 Chú ý: tên bảng có phân biệt chữ hoa, chữ thường 
 52 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Các phương thức của Dataset 
 Xóa bảng ra khỏi dataset: 
 . Tables.Remove(): xóa bảng ra khỏi tập hợp Table 
 . Xóa bảng có chỉ số là ra khỏi tập hợp Tables: 
 Tables.RemoveAt() 
 . 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(): 
 • Trả về True: có thể xóa 
 • False: không thể xóa vì đang xử dụng 
 53 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Các phương thức của Dataset 
 Kiểm tra bảng có thuộc về Dataset hay không ? 
 . Tables.Contains() 
 Xóa bỏ mọi dữ liệu trên Dataset 
 . Clear() 
 Xóa bỏ Dataset 
 . Disponse 
 54 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Các phươ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(,, 
 ) 
Relations.Add(,,< 
 DataColumn trên bảng con>, ) 
 55 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Các phương thức của Dataset 
Xóa quan hệ khỏi DataSet: ta dùng phương thức sau: 
 Relations.Remove() 
 Xóa quan hệ ra khỏi tập hợp Relations của Dataset 
Relations.Remove() 
 Xóa 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() 
Trả về True: có thể xóa, False: không thể xóa 
 56 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 DataAdapter 
 Lấy cấu trúc và dữ liệu của các bảng trong nguồn dữ liệu về 
 cho DataSet và cập nhật các thay đổi về nguồn dữ liệu gốc 
 57 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 DataAdapter 
 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ữ 
 liệu 
 Ta cầ hiểu rõ nội dung lệnh truy vấ cho SelectCommand, nội dung 
 các đối tượng còn lại có thể sử dụng đối tượng thích hợp để tự 
 động phát sinh hay chỉ rõ lệnh cho từng đối tượng 
 58 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
DataAdapter 
 59 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 DataAdapter 
 TableMappings 
 60 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 DataAdapter 
 TableMappings 
 61 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
Tạo DataAdapter 
 62 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Các chức năng của DataAdapter 
 Lấy dữ liệu từ nguồn về cho DataSet, DataTable qua method Fill 
 63 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Các chức năng của DataAdapter 
 Lấy cấu trúc dữ liệu từ nguồn 
 64 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Các chức năng của DataAdapter 
 Tạo bộ lệnh cập nhật cho DataAdapter 
 65 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 DataTable 
 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) 
 66 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 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 
 Các chức năng chính của Rows: 
 . Rows.Count 
 . Rows.Item() hoặc Rows() 
 . Rows.Item(,) hoặc 
 • a Rows(,) 
 • aRows(,) 
 . Thêm dòng vào bảng 
 • Dim NewRow As DataRow 
 • NewRow = .NewRow() 
 • .Rows.Add() 
 . Rows.Add() 
 . Rows.Remove (), Rows.RemoveAt() 
 . Rows.Clear() 
 67 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 DataTable – Tập hợp Column 
 Tương tự như Rows, Columns là tập hợp các cột dữ liệu của bảng vì 
 vậy mọi tham chiếu đến cột đều thông qua tập hợp này 
 . Columns.Count 
 . Columns.Item() 
 . Columns.Item() 
 . Columns() 
 . Columns() 
 68 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 DataView 
 Cung cấp các phương pháp thuận tiện cho việc liên kết dữ lịêu với 
 các điều khiển, sắp xếp, 
 Tạo DataView 
 . New DataView() 
 . New DataView() 
 . New DataView(,, , 
 ) 
 Ví dụ: 
 69 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Các thuộc tính của DataView 
 AllowDelete cho phép thao tác xóa dòng trên DataView 
 AllowEdit Cho phép thao tác sửa đổi trên DataView 
 AllowNew Cho phép thao tác thêm mới bằng AddNew 
 Count Số mẩu tin trên DataView 
 Item Trả về dòng dữ liệu trên bảng theo tham số truyền vào 
 RowFilter Biểu thức lọc 
RowStateFilter 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à 
 đã thay đổi 
 + Deleted: dòng đánh dấu hủy 
 + ModifiedCurrent 
 + ModifiedOriginal 
 + None, OriginalRows,Unchanged 
 Sort sắp xếp dữ liệu trên DataView 
 Table Tên bảng 70 http:// lhu.edu.vn 
 Ts. Vũ Đức Lung – Ks. Phan Hữu Tiếp 
 Bài thực hành số 03 
 SQL Server 
 Phân tích yêu cầu 
 Phân tích hướng dẫn 
 71 http:// lhu.edu.vn 
 www.themegallery.com 
72  LHU 

File đính kèm:

  • pdfbai_giang_lap_trinh_web_asp_net_chuong_4_xu_ly_du_lieu_voi_a.pdf