Bài 5: ADO.NET 5.1. Khái niệm 5.2. Các lớp và không gian tên cơ bản của ADO.NET 5.3. Thao tác với dữ liệu kết nối – Connected 5.4. Thao tác với dữ liệu.

Slides:



Advertisements
Similar presentations
Đánh giá Quốc gia có Hệ thống cho Việt Nam Các ư u tiên về Giảm nghèo, Phát triển Công bằng và Bền vững Ngày 5 tháng 4 n ă m 2016.
Advertisements

Khái niệm và thiết kế trang Web
Quản trị Rủi ro thiên tai và Biến đổi khí hậu
BỘ Y TẾ VỤ TRANG THIẾT BỊ VÀ CÔNG TRÌNH Y TẾ
Báo cáo Cấu trúc đề thi PISA và Các dạng câu hỏi thi PISA
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
XÂY DỰNG VÀ PHÁT TRIỂN CHƯƠNG TRÌNH ĐÀO TẠO THEO ĐỀ XƯỚNG CDIO
Rainforest Alliance đào tạo cho các nông trại trà ở Việt Nam
PHẦN 1. HỆ ĐIỀU HÀNH WINDOWS. 2 Nội dung trình bày  1.1. Thao tác cơ bản sử dụng máy tính  1.2. Màn hình nền desktop  1.3. Quản lý tệp tin và thư mục.
Qua hàng ngàn năm dựng nước và giữ nước, dân tộc ta đã để lại nhiều bài học vô giá. Nổi bật trong đó là tinh thần đoàn kết, ý thức cộng đồng. Hai truyền.
L/O/G/O NGUYÊN LÝ KẾ TOÁN Nguyễn Hữu Quy (MBA,CPA,APC)
TRƯỜNG ĐẠI HỌC THĂNG LONG
CHÍNH SÁCH VÀ TRIỂN KHAI CHÍNH SÁCH BẢO MẬT
Bài giảng e-Learning Bài giảng e-Learning là sản phẩm được tạo ra từ các công cụ tạo bài giảng (authoring tools), có khả năng tích hợp đa phương tiện.
Thực hiện các cuộc họp quan trọng
ViÖn ChiÕn l­îc ph¸t triÓn
QUẢN TRỊ THÀNH TÍCH Performance Management
TẬP HUẤN TÀI CHÍNH CÔNG ĐOÀN NĂM 2015
MICROSOFT VISUAL BASIC
KIẾN TRÚC HƯỚNG DỊCH VỤ - SOA
Tối đa hoá lợi nhuận và cung cạnh tranh
TÌM HIỂU VỀ WEB SERVICES VÀ XÂY DỰNG MỘT WEB SERVICE
VÀ PHẦN MỀM ỨNG DỤNG – ECUS5VNACCS
Giới thiệu chương trình trách nhiệm xã hội của doanh nghiệp
KHAI PHÁ DỮ LIỆU (DATA MINING)
THÔNG TIN MÔN HỌC Quản trị chuỗi cung ứng (Supply Chain Management): 45 tiết Tài liệu nghiên cứu Quản lý chuỗi cung ứng –Th.S. Nguyễn Kim Anh, Đại học.
TRƯỜNG ĐẠI HỌC LÂM NGHIỆP
Software testing Kiểm thử phần mềm
BÁO CÁO DỰ ÁN CIBOLA Đo lường mức độ hiệu quả của Media
Chương 6 Thiết kế hệ thống.
KHÓA TẬP HUẤN CÔNG BẰNG GIỚI VÀ CÁC DỰ ÁN PHÁT TRIỂN
Module 6 – Managing for Sustainability
CHƯƠNG 2 TRUY VẤN DỮ LIỆU.
CHẾ ĐỘ PHÁP LÝ VỀ CÔNG TY CỔ PHẦN
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Các kỹ thuật tấn công lỗ hổng website
Chương 3 Mô hình dữ lịêu quan hệ
XÂY DỰNG LỢI THẾ CẠNH TRANH THÔNG QUA CHIẾN LƯỢC CẤP KINH DOANH
MKTNH Version 3 Giảng viên: ThS. Thái Thị Kim Oanh
BÀI GIẢNG MỘT SỐ CHỦ ĐỀ HIỆN ĐẠI VỀ KHAI PHÁ DỮ LIỆU: KHAI PHÁ QUÁ TRÌNH CHƯƠNG 2. MÔ HÌNH QUY TRÌNH VÀ PHÂN TÍCH QUY TRÌNH THEO MÔ HÌNH PGS. TS. HÀ.
Bài 2: Từ tiêu chuẩn sức khoẻ tới nơi làm việc lành mạnh
Chương 9 Truyền thông và Mạng
Chương 6 Thiết kế hướng đối tượng
DI SẢN THẾ GIỚI WORLD HERITAGE CỔ THÀNH HUẾ VIỆT NAM
Ngôn ngữ học khối liệu - khoa học liên ngành về ngôn ngữ ứng dụng
Chương 4 Phân tích kiến trúc (Architecture)
XÂY DỰNG KẾ HOẠCH VÀ CHIẾN LƯỢC MARKETING
Chiến lược CSR –Là gì và làm thế nào để chúng ta sàng lọc lựa chọn?
UBND TỈNH ĐIỆN BIÊN SỞ GIÁO DỤC VÀ ĐÀO TẠO
LẬP TRÌNH ỨNG DỤNG WINDOW FORM
Quản lý con người Quản lý người làm việc như những cá nhân và theo nhóm.
KỸ NĂNG HỌC TẬP KHOA QUẢN TRỊ KINH DOANH ThS. NGUYỄN HOÀNG SINH
Chapter 16: Chiến lược giá
Biến và Kiểu Dữ Liệu Chương 2.
BÀI GIẢNG QUẢN LÝ DỰ ÁN HỆ THỐNG THÔNG TIN CHƯƠNG 1
Giới Thiệu Tiêu Đề I.
Operators and Expression
NỘI DUNG I. THỰC TRẠNG QL VỐN NN TẠI CÁC DNNN
Trách nhiệm giải trình của doanh nghiệp ở diện rộng
QUYỀN LỰC VÀ MÂU THUẪN TRONG NHÓM
Chương 2 Căn bản về Cung và Cầu 1.
GIỚI THIỆU KHÁI QUÁT VỀ THỊ TRƯỜNG TÀI CHÍNH
PHÒNG GIÁO DỤC VÀ ĐÀO TẠO
QUẢN TRỊ TÍNH ĐA DẠNG THÔNG QUA NHIỀU HOẠT ĐỘNG KINH DOANH
Lập trình Visual Studio .NET
Giảng viên: Lương Tuấn Anh
Trường CĐ CNTT HN Việt Hàn
Chương 8 NHỮNG VẤN ĐỀ QUẢN TRỊ CƠ BẢN TRONG THỰC THI CHIẾN LƯỢC
KHAI THÁC THỦY SẢN ĐẠI CƯƠNG
Presentation transcript:

Bài 5: ADO.NET 5.1. Khái niệm 5.2. Các lớp và không gian tên cơ bản của ADO.NET 5.3. Thao tác với dữ liệu kết nối – Connected 5.4. Thao tác với dữ liệu không kết nối - Disconnected

5.1 Khái niệm ADO.NET Khi phát triển các ứng dụng trên nền web thì công việc chủ yếu phải giải quyết là xử lý Cơ sở dữ liệu ADO.NET (Active Data Object) cho phép thao tác Cơ sở dữ liệu : Các ứng dụng webform Các ứng dụng winform

Mục tiêu chính của ADO.NET là Cung cấp các lớp để thao tác CSDL trong cả hai môi trường là phi kết nối (Disconected data) và kết nối (Connected data) Tích hợp chặt chẽ với XML (Extensible Markup Language) Tương tác với nhiều nguồn dữ liệu thông qua mô tả dữ liệu chung Tối ưu truy cập nguồn dữ liệu (OLE DB & SQL server) Làm việc trên môi trường Internet

ADO vs. ADO.NET

5.2 Các lớp và không gian tên cơ bản của ADO.NET Lớp ADO.NET được tìm thấy trong namespace System.Data, và được tích hợp với lớp XML được tìm thấy trong namespace System.Xml Connection Không gian tên sử dụng trong ADO.NET gồm: System.Data System.Data.Common: ADO.NET Dataset: Là thành phần chính của kiến trúc kết nối gián đoạn của ADO.NET. Dataset bao gồm tập hợp một hoặc nhiều đối tượng DataTable .NET Data Provider: Một tập hợp các thành phần bao gồm các đối tượng System.Data.SqlClient: Dùng cho cơ sở dữ liệu SQL System.Data.OleDb: Dùng cho cơ sở dữ liệu access System.Data.OracleClient: Dùng cho cơ sở dữ liệu Oracle

Cấu trúc ADO.NET cho phép làm việc ở cả hai chế độ: Kho chứa các bảng Đón nhận kết quả trả về từ đối tượng Command Thực hiện các câu lệnh SQL thao tác với CSDL Cầu nối giữa nguồn dữ liệu và các bảng được cached trong bộ nhớ Thực hiện nhiệm vụ kết nối đến CSDL ADO.NET cho phép làm việc ở cả hai chế độ: Chế độ Kết nối (Connected) Phi kết nối (Disconnected)

Connection Ý nghĩa: Kết nối đến CSDL Thuộc tính: Phương thức: Application Database Ý nghĩa: Kết nối đến CSDL Thuộc tính: ConnectionString: chuỗi kết nối DataSource Phương thức: Open(): thiết lập kết nối đến DataSource Close(): đóng kết nối với DataSource

Command Ý nghĩa: Thực hiện các câu lệnh SQL để thao tác với CSDL Connection Command Application Database Ý nghĩa: Thực hiện các câu lệnh SQL để thao tác với CSDL Thuộc tính: Connection: kết nối để thực hiện lệnh CommandText: câu lệnh cần thực hiện CommandType: loại câu lệnh (Text, TableDirect, StoredProc) Phương thức: ExecuteScalar(): thực hiện câu lệnh và trả về giá trị đơn ExecuteNonQuery(): gọi các lệnh SQL, store, trả về số row bị tác động (Insert, Update, Delete…) ExecuteReader(): thực hiện lệnh và trả về DataReader

Command với Parameter Khái niệm: Câu lệnh truy vấn SQL nhận giá trị thông qua các tham số tại thời điểm thực thi Cách sử dụng: Tạo tham số trong câu lệnh SQL Khai báo Parameter với những thông tin chính: tên tham số kiểu dữ liệu loại tham số vào/ra giá trị Liên kết Parameter với Command

Command với Parameter ? Tạo tham số trong câu lệnh SQL Khai báo Parameter với những thông tin chính: tên tham số kiểu dữ liệu loại tham số vào/ra giá trị Liên kết Parameter với Command SqlCommand dc = new SqlCommand("select * from sinhvien where phai=@phai", ketnoi); SqlParameter thamso = new SqlParameter(); thamso.ParameterName = "tham_so"; thamso.SqlDbType = SqlDbType.NChar; thamso.Direction = ParameterDirection.Input; thamso.SqlValue = "nu"; dc.Parameters.Add("tham_so"); ? string gtthamso = "nu"; dc.Parameters.AddWithValue("@phai", gtthamso);

DataReader Ý nghĩa: Nhận kết quả trả về từ Command Thuộc tính: Connection DataReader Command Application Database Ý nghĩa: Nhận kết quả trả về từ Command Thuộc tính: HasRow: cho biết câu truy vấn có trả về dữ liệu Phương thức: Read(): đọc một mẫu tin [i]: truy xuất đến cột i của mẫu tin được đọc Close(): đóng

Data Provider Tạo kết nối đến nguồn dữ liệu. Thực hiện các lệnh truy vấn SQL trên nguồn dữ liệu. Cung cấp thư viện xử lý cho 3 loại nguồn dữ liệu khác nhau (3 provider): SQL Server, OLE DB và ODBC. Mỗi provider được quản lý bởi một namespace, nằm trong namespace System.Data. Có 4 thành phần chính trong một provider: Connection Command DataReader DataAdapter

DataAdapter Ý nghĩa: Cầu nối giữa CSDL và DataSet Thuộc tính và phương thức: Fill(DataSet): Sử dụng SelectCommand lấy dữ liệu từ Data Source đổ vào DataSet Update(DataSet): Cập nhật dữ liệu trong DataSet vào DataSource Các thành phần: InsertCommand, UpdateCommand, DeleteCommand *.AcceptChanges();

DataSet DataTable .Columns[..] .Rows[..] DataView DataRelation DataSet .Tables[...] .Relations[...] ... DataTable .Columns[..] .Rows[..] .Columns[...] .Rows[...] .DefaultView ... DataColumn schema DataRow data DataView DataRelation

DataSet Là thành phần lưu trữ dữ liệu Đặc điểm: Không kết nối với nguồn dữ liệu. Không phân biệt dữ liệu thuộc nguồn nào (SQL Server, OLE DB, ODBC, …). Có thể lưu trữ dữ liệu từ nhiều bảng (Table), nhiều nguồn (Data Source) khác nhau. Dữ liệu trong DataSet được quản lý bởi các DataTable. Dữ liệu được đưa vào bởi DataSet thành phần DataAdapter của .Net data provider

DataSet - DataTable Ý nghĩa: Thể hiện một bảng trong CSDL Thuộc tính: TableName: tên của bảng dữ liệu Columns: danh sách các cột Rows: danh sách các mẫu tin PrimaryKey: danh sách các cột là khóa chính Phương thức: NewRow(): tạo một mẫu tin mới

DataSet - DataColumn Ý nghĩa: Đại diện cho một cột trong bảng Thuộc tính và phương thức: ColumnName: tên cột DataType: kiểu dữ liệu .Columns.Count: Số cột .Columns.[chỉ số]: Truy xuất một DataColumn .Columns.[“Tên cột”]: Truy xuất một DataColumn

DataSet - DataRow Ý nghĩa: Đại diện cho mẫu tin trong bảng Thuộc tính và : RowState: trạng thái Added, Modified, Deleted,… Phương thức: .Rows.Count: .Rows[chỉ số dòng][chỉ số cột]: truy xuất đến cột I .Rows[chỉ số dòng][tên cột] : truy xuất đến cột I Delete(): đánh dấu xóa mẫu tin DataTable Column1 Column2 … Column n abc xyz omt Row

5.3 Kết nối để thao tác với dữ liệu Khái niệm Lấy dữ liệu về Thao tác với dữ liệu

Khái niệm Mỗi user có một kết nối cố định tới data source Ưu điểm: Môi trường được bảo vệ tốt Kiểm soát được sự đồng bộ Dữ liệu luôn được mới Nhược: Phải có một kết nối mạng cố định

Lấy dữ liệu về b1. Tạo Connection đến CSDL b2. Tạo một biến DataCommand gắn với biến DataConnection đã mở b3. Tạo biến DataReader: Thi hành phương thức ExcuteReader() Đọc và trình bày dữ liệu b.4 Đóng và giải phóng các biến đối tượng

Thao tác với dữ liệu b1. Khai báo một biến đối tượng DataConnection, và mở kết nối đến cơ sở dữ liệu b2. Tạo một biến DataCommand gắn với biến DataConnection đã mở b3. Gán giá trị cho thuộc tính CommandType của biến đối tượng DataCommand b4. Gán câu lệnh truy vấn (insert, update, delete, gọi store procedure…) cho thuộc tính CommandText của biến đối tượng DataCommand b5. Thi hành phương thức ExcuteNonquery() của biến đối tượng DataCommand b6. Đóng và giải phóng các biến đối tượng nếu không cần thiết

Demo 1 Thực hiện các công việc: Kết nối CSDL Đọc dữ liệu trên CSDL rồi đưa lên web thông qua ListBox Đọc dữ liệu trên CSDL với tham số rồi đưa lên web thông qua ListBox Chèn vào CSDL 1 bản ghi Sửa 1 bản ghi trong CSDL Xóa 1 bản ghi trong CSDL

5.3 Thao tác với dữ liệu (phi kết nối) Khái niệm Các bước Lấy dữ liệu về để thao tác Thực hiện thao tác trên CSDL

Khái niệm Một tập con của dữ liệu trung tâm được sao chép và bổ sung độc lập, sau đó sẽ được merge lại vào dữ liệu trung tâm. Ưu điểm Có thể làm việc bất cứ lúc nào, cũng như có thể kết nối bất kỳ vào Data Source Cho phép user khác có thể kết nối Nâng cao hiệu suất thực hiện của ứng dụng Khuyết Dữ liệu không được cập nhật một cách nhanh nhất Sự tranh chấp có thể xuất hiện và phải giải quyết

Các bước DataConnection: Dùng để mở kết nối đến cơ sở dữ liệu (Có thể có hoặc không) DataAdapter DataSet Ngoài ra chúng ta còn sử dụng một số các đối tượng khác như DataTable, DataRow…

Lấy dữ liệu về để thao tác b1. Cần khai báo một biến đối tượng DataConnection, và mở kết nối đến cơ sở dữ liệu. (Bước này có thể không cần thiết) b2. Tạo biến DataAdapter, Chỉ rõ nguồn dữ liệu cần lấy gắn với một đối tượng DataConnection đã mở hoặc một xâu kết nối đến cơ sở dữ liệu. b3. Tạo DataSet và thi hành phương thức Fill để điền dữ liệu lấy về vào DataSet. b4. Sử dụng tập hợp Tables của đối tượng DataSet để làm việc với dữ liệu đã lấy về. b5. Đóng hoặc giải phóng các đối tượng nếu không cần thiết.

Thực hiện các thao tác trên cơ sở dữ liệu b1. Khai báo một biến đối tượng DataConnection, và mở kết nối đến cơ sở dữ liệu. (Bước này có thể không cần thiết). b2. Khai báo và tạo đối tượng DataAdapter b3. Tạo đối tượng CommandBuilder gắn với biến đối tượng DataAdapter. b4. Tạo DataSet và thi hành phương thức Fill để điền dữ liệu lấy về vào DataSet. b5. Thi hành phương thức Update để cập nhật sự thay đổi dữ liệu trong bảng lên cơ sở dữ liệu. b6. Đóng và giải phóng các biến đối tượng nếu không cần thiết.

Demo2 Yêu cầu 1: Lấy dữ liệu từ 1 bảng trong CSDL, cho hiển thị lên web Yêu cầu 2: Cập nhật 1 trường của CSDL