1. Trang chủ
  2. » Công Nghệ Thông Tin

Tuan09 c net ado net

21 2 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

Tiêu đề Lập Trình Ứng Dụng Quản Lý C#.Net Ado.Net
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Lập Trình Ứng Dụng
Thể loại Bài Tập
Năm xuất bản 2018
Thành phố Hồ Chí Minh
Định dạng
Số trang 21
Dung lượng 1,14 MB

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

Nội dung

Khái niệm ADO.NET là một tập các lớp thư viện được sử dụng để truy xuất dữ liệu  Nằm trong bộ thư viện các lớp cơ sở của .Net Framework Thêm/xóa/sửa dữ liệu Đọc dữ liệu  ADO.NET là th

Trang 1

C#.NETADO.NET

Trang 3

OLEDB (Object Linking and Embeding Database):

cải tiến hơn ODBC, liên kết tốt hơn với thư viện

nguyên gốc (native) của hệ CSDL Đóng gói cả

ODBC

ADO (ActiveX Data Object): cải tiến thêm, dễ dàng

cho người phát triển ứng dụng

ADO.NET: là thay thế ADO (khác hoàn toàn ADO)

tương thích nền NET

Mô hình tổng quát

Trang 4

Khái niệm

ADO.NET là một tập các lớp thư viện được sử

dụng để truy xuất dữ liệu

 Nằm trong bộ thư viện các lớp cơ sở của Net

Framework

Thêm/xóa/sửa dữ liệu Đọc dữ liệu

ADO.NET là thành phần nội tại của Net

Framework có thể sử dụng trong các ngôn

ngữ hỗ trợ Net (C#, VB.Net, )

 Các lớp ADO.Net đặt trong System.Data

ASP.NET Windows Forms

Drawing XML Data

Comman language Runtime

System Services

ADO.NET Class Framework

Trang 5

Lợi ích

ADOkết nối CSDL tốt, nhưng

 Đòi hỏi kết nối chuẩn COM và Windows

 Xử lý kết nối CSDL qua Internet khó khăn và không

tốt

ADO.Net

 Tích hợp chặt chẽ với XML

 Làm việc tốt trên môi trường Internet

ADO.Net là sự cải tiến của ADO

 Khác biệt nhau ở mô hình (COM vs XML)

 Giống nhau về các chức năng

Kiến trúc

Trang 6

Cây phân cấp các đối tượng trong ADO.NET

Các thành phần cơ bản

Connection: Là đối tượng có nhiệm vụ thực hiện

nhiệm vụ kết nối đến CSDL

Command: Dùng để thực hiện các câu lệnh SQL

thao tác với CSDL như: Insert, Update, Select,

Delete

DataReader: Dùng để đón nhận kết quả trả về từ

đối tượng Command

DataAdapter: Có chức năng như một cầu nối

giữa nguồn (tệp) dữ liệu và các bảng được

cached trong bộ nhớ

Trang 7

.NET Data Provider

XXXConnection

XXXDataAdapter

XXXCommand XXXDataReader NET Data Provider

DataSet

XXXParameter XXXTransaction

Data Source (CSDL)

 Các Data Provider cơ bản

 System.Data.OleDb: Access, SQL Server, Oracle

 System.Data.SqlClient: SQL Server

 System.Data.OracleClient: Oracle

 Ghi chú:

 Về mặt giao tiếp lập trình ứng dụng, cả 3 thư viện

trên không khác biệt nhau nhiều lắm

 Dùng thư viện System.Data.SqlClientsẽ truy xuất

SQL Server nhanh hơn System.Data.OleDb

 Dùng thư viện System.Data.OracleClientsẽ truy

xuất Oracle nhanh hơn System.Data.OleDb

Trang 8

Thành phần giữ dữ liệu

DataTable là một đối tượng có thể chứa một

bảng trong database trên bộ nhớ.

DataSet là một đối tượng có thể chứa nhiều

DataTable cùng với mối liên hệ giữa chúng

(relationship) và kể các ràng buộc (constraint)

được lưu hoàn toàn trong bộ nhớ để làm việc

offline.Như vậy DataSet được dùng để nắm giữ

dữ liệu của mọi database và cho phép thay đổi

dữ liệu bên trong nó, sau đó cập nhật lại cho

database.

Mối quan hệ

Trang 9

Các property quan trọng

DataSet

Tables: chứa các DataTable.

Relations: chứa các DataRelation.

DataTable

Columns: chứa các DataColumn.

Rows: chứa các DataRow.

Constraints: chứa các Constraint.

DataView

DataView: dùng để trình bày dữ liệu có trong đối

tượng DataTable dưới hình thức sắp xếp, lọc, tìm

kiếm, hiệu chỉnh và điều hướng

AllowDelete, AllowEdit, AllowNew: các thuộc tính

để cho phép tương tác với dữ liệu hiển thị của

DataView

Count: trả về số lượng mẩu tin đang truy vấn

RowFilter: thuộc tính này cho phép lọc dữ liệu

trong DataView tương tự mệnh đề WHERE trong

câu lệnh SQL

Sort: thuộc tính cho phép sắp xếp các mẩu tin theo

điều kiện

Trang 10

Thành phần con

DataColumn: là phần tử cơ bản tạo nên

DataTable

ColumnName: tên của column

DataType: kiểu dữ liệu trong column

AllowDBNull: cho phép dữ liệu null hay không

DefaultValue: dữ liệu mặc định

Unique: ràng buộc dữ liệu duy nhất

DataRow: là đối tượng nắm giữ dữ liệu cho

Trang 11

Mô hình kết nối

 Connected Model

Chương trình

ConnectionCommand

Trang 12

 Connection : xác định CSDL sẽ thực hiện thao tác

 CommandText : xác định thao tác cần thực hiện

 Parameters : xác định các tham số lệnh

 Phương thức quan trọng

 ExecuteReader : phù hợp lệnh Select trả ra 1 bảng dữ liệu

 ExecuteScalar : phù hợp lệnh Select trả ra 1 giá trị

 ExecuteNonQuery : phù hợp lệnh Insert, Delete, Update

BookNam e

Trang 13

DataAdapter

Data Source

DataSet

 Fill : dùng SelectCommand lấy dữ liệu từ Data

Source đổ vào DataSet.

 Update : dùng InsertCommand, UpdateCommand

và DeleteCommand cập nhật dữ liệu trong DataSet

Trang 14

 Mỗi chương trình khi chạy đa phần cần có những

tham số ràng buộc tùy theo ngữ cảnh, liên hệ bên

ngoài Ví dụ: cách thức hiển thị, cách kết nối

database,…

 Làm sao để thay đổi các tham số kể trên mà không

phải biên dịch lại chương trình

 Giải pháp ở đây là sử dụng Configuration của NET

Trang 15

Ứng dụng kết nối Database (tt)

 Cấu hình chương trình

 System.Configurationlà namespace cung cấp các

mô hình lập trình để xử lý các dữ liệu về cấu hình

(config)

 Với chương trình Application.NET thì dữ liệu cấu

hình sẽ lưu trong file App.config

 Với chương trình ASP.NET thì dữ liệu cấu hình lưu

trong fiel Web.config

 Cách dùng Application config: Yêu cầu bắt buộc

đầu tiên phải add reference thư viện

System.Configuration

Ứng dụng kết nối Database (tt)

 Sau đó add file config vào project

 Thêm nội dung vào file config

Trang 16

Ứng dụng kết nối Database (tt)

ConfigurationManager

 Thuộc namespace System.Configuration

 Hỗ trợ xử lý dữ liệu trong file cấu hình

 Cần quan tâm 2 thuộc tính quan trọng là:

 Là đối tượng dùng để trình bày dữ liệu có trong

DataSet, DataTable, DataView dưới hình thức khác

nhau

 Có thể tùy biến các column để thêm các control

như: Button, TextBox, ComboBox, CheckBox,

Image, Link

Trang 17

Ứng dụng kết nối Database (tt)

Các property:

DataSource: để gắn kết nguồn dữ liệu mà

DataGridView sẽ trình bày.

CurrentRow: để lấy ra mẩu tin đang được chọn.

CurrentCell: để lấy ra ô được chọn.

DefaultCellStyle: để định dạng hiển thị cho ô.

Columns: chứa các DataGridViewColumn (có các lớp

dẫn xuất tương ứng)

 DataGridViewTextBoxColumn: column dạng TextBox.

 DataGridViewCheckBoxColumn: column dạng CheckBox.

 DataGridViewComboBoxColumn: column dạng ComboBox.

Trang 18

Mẫu thiết kế Factory trong ADO.NET

 ADO.NET xây dựng một nền tảng độc lập với Hệ

quản trị cơ sở dữ liệu nên các phương pháp kết

nối và truy vấn database là tương đồng với mọi

dạng database (Oracle, SQL, Access, MySQL,…)

 Ví dụ:

Đối tượng Connection đảm nhận việc mở và đóng

kết nối với các phương thức: Open, Close,…

Đối tượng Command đảm nhận việc thực thi lệnh

với các phương thức: ExecuteReader,

ExecuteNonQuery, ExecuteScalar,…

Mẫu thiết kế Factory trong ADO.NET (tt)

 Tuy nhiên với mỗi Hệ quản trị CSDL khác nhau

thì có cách thức kết nối và truy vấn riêng biệt

(driver) nên các lớp đối tượng kể trên là khác

nhau

 Ví dụ:

Với SQL: SqlConnection, SqlCommand,…

Với Access: OleDbConnection,

OleDbCommand,…

 Vậy làm cách nào để có thể cài đặt thật sự độc

lập với Hệ quản trọ CSDL ???

Trang 19

Mẫu thiết kế Factory trong ADO.NET (tt)

 Abstract Factory Design Pattern

Mẫu thiết kế Factory trong ADO.NET (tt)

 Ví dụ

Trang 20

Mẫu thiết kế Factory trong ADO.NET (tt)

 Microsoft.NET đã hiện thực mẫu thiết kế Factory

trong ADO.NET để giải quyết vấn đề “độc lập” với

các Hệ quản trị CSDL

 Các thành phần quan trọng

 Các lớp đối tượng Dbxxx trong namespace

System.Data.Common

Lớp đối tượng abstract DbProviderFactory thường

được tạo cụ thể từ phương thức tĩnh GetFactory

của DbProviderFactories.

Mẫu thiết kế Factory trong ADO.NET (tt)

Trang 21

Bài tập

 Xây dựng ứng dụng cho phép kết nối với

database QLHS với yêu cầu sử dụng cả SQL

server và MySQL (có thể thay đổi bởi người

dùng)

Ngày đăng: 09/04/2023, 06:29

TỪ KHÓA LIÊN QUAN