• GVHD: Dương Khai Phong
• Email:
• Website:
Lý thuyết: 45 tiết
Thực hành: 30 tiết
1/ Giới thiệu tổng quan Web
2/ HTML và JavaScript
3/ Các đối tượng trong ASP.Net
4/ ADO.Net (kết nối cơ sở dữ liệu)
5/ Triển khai ứng dụng Web + Ôn tập
PHẦN 4:
1. Giới thiệu.
2. Kiến trúc ADO.Net
3. Cơ bản kết nối database trong ASP.Net
4. Các đối tượng liên quan đến database.
5. Các control trình bày dữ liệu (data control)
ADO.Net (ActiveX Data Object): là một tập các
lớp nằm trong bộ thư viện lớp cơ sở của .NET
Framework cung cấp khả năng làm việc với dữ liệu
được lưu trữ trong bộ nhớ như một CSDL thu nhỏ
gọi là “dataset” làm tăng tốc độ tính toán, xử lý tính
toán và hạn chế sử dụng tài nguyên trên Database
Server.
ADO.Net cung cấp khả năng xử lý dữ liệu chuẩn
XML (dữ liệu dạng XML có thể trao đổi giữa bất kỳ
hệ thống nào ứng dụng có nhiều khả năng làm
việc với những ứng dụng khác).
Tầng chứa các đối
tượng làm việc trực
tiếp với các hệ quản
trị CSDL bên dưới.
Tầng chứa các đối
tượng như bản sao
thu nhỏ của CSDL.
Các hệ QT CSDL:
• Access
• SQL
• Oracle,
Các bước cơ bản thực hiện với CSDL:
Bước 1: Tạo kết nối.
Bước 2: Tạo điều khiển truy vấn SQL
Bước 3: Mở kết nối dữ liệu
Bước 4: Thực thi truy vấn SQL
Bước 5: Đóng kết nối
Bước 6: In kết quả
Ví dụ cơ bản thực hiện kết nối với CSDL Access:
Yêu cầu:
Tạo một CSDL Access 2003: database.mdb
Tạo project website gồm:
Thiết kế
Dữ liệu
Copy tập tin
CSDL Access vào
đúng thư mục
chứa Project
Ví dụ cơ bản thực hiện kết nối với CSDL Access:
Label (ID: data_src): Hiển thị đường dẫn tới Database.mdb
Label (ID: con_open): hiển thị thông báo kết
nối CSDL thành công
Thẻ <div> (ID: content): hiển thị kết quả của
việc truy vấn CSDL
Label (ID: con_close): hiển thị thông báo
đóng kết nối CSDL thành công
Giao diện:
Ví dụ cơ bản thực hiện kết nối với CSDL Access:
Viết code cho sự kiện Page_Load trong trang default.aspx.cs:
Bước 1: Tạo kết nối CSDL
string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";
strConnection += @"Data Source=" + MapPath("Database.mdb");
data_src.Text = strConnection;
string strResultsHolder = "";
OleDbConnection objConnection = new OleDbConnection (strConnection);
Bước 2: Tạo điều khiển truy vấn SQL
string strSQL = "SELECT MaKH,Hoten FROM Khachhang";
OleDbCommand objCommand = new OleDbCommand (strSQL, objConnection);
OleDbDataReader objDataReader = null;
Lưu ý: cần sử dụng thư viện: System.Data.OleDb;
Ví dụ cơ bản thực hiện kết nối với CSDL Access:
Viết code cho sự kiện Page_Load trong trang default.aspx.cs:
Bước 3+4+5+6:
try {
// Bước 3: Mở kết nối dữ liệu
objConnection.Open();
con_open.Text = "Connection opened successfully.<br>";
// Bước 4: Thực thi truy vấn SQL
objDataReader = objCommand.ExecuteReader();
while (objDataReader.Read() == true) { // Đọc dữ liệu trong CSDL
strResultsHolder += objDataReader["MaKH"]+ " ";;
strResultsHolder += objDataReader["Hoten"]+ "<br/>";
}
// Bước 5: Đóng kết nối
objDataReader.Close();
objConnection.Close();
con_close.Text = "<br/>Connection closed.<br/>";
// Bước 6: In kết quả
Content.InnerHtml = strResultsHolder;
}
catch (Exception ex) {
con_open.Text = "Connection failed to open successfully.<br/>";
con_close.Text = e.ToString();
}
Ví dụ cơ bản thực hiện kết nối với CSDL SQL:
Yêu cầu:
Tạo một CSDL SQL 2008: database.mdf
Bước 1: RClick App_Data
Bước 2: chọn Add New Item
Ví dụ cơ bản thực hiện kết nối với CSDL SQL:
Yêu cầu:
Tạo một CSDL SQL 2008: database.mdf
Bước 1: RClick App_Data
Bước 2: chọn Add New Item
Bước 3: Tạo quan hệ cho
CSDL: DClick tên CSDL
Ví dụ cơ bản thực hiện kết nối với CSDL SQL:
Yêu cầu:
Tạo một CSDL SQL 2008: database.mdf
Bước 1: RClick App_Data
Bước 2: chọn Add New Item
Bước 3: Tạo quan hệ cho
CSDL: DClick tên CSDL
Thiết kế
Ví dụ cơ bản thực hiện kết nối với CSDL SQL:
Viết code cho sự kiện Page_Load trong trang default.aspx.cs:
Các bước cơ bản thực hiện với CSDL:
Bước 1: Tạo kết nối.
Bước 2: Tạo điều khiển truy vấn SQL
Bước 3: Mở kết nối dữ liệu
Bước 4: Thực thi truy vấn SQL
Bước 5: Đóng kết nối
Bước 6: In kết quả
Access: OleDbConnection
SQL: SqlConnection
Access: OleDbCommand
SQL: SqlCommand
Dùng phương thức Open()
Access: ExecuteReader()
SQL: ExecuteScalar()
Dùng phương thức Close()
a) Đối tượng kết nối CSDL Connection:
Đối tượng sử dụng:
Access: OleDbConnection
SQL: SqlConnection
Thuộc tính và phương thức :
SqlConnection
Thuộc tính
Tên Chức năng
ConnectionString
Gắn
driver (chuỗi kết nối) kết nối đến CSDL
Ví dụ
:
string
driver="server=localhost; UID=sa; PWD=;
database=name_database";
sqlcon=new Sqlconnection();
sqlcon.
ConnectionString=driver;
a) Đối tượng kết nối CSDL Connection:
SqlConnection
Thuộc tính
Tên Chức năng
State
Trạng
thái kết nối đến CSDL
Database
Chứa đựng tên CSDL
Server
Tên máy chứa CSDL
Phương thức
Open()
Mở kết nối đến CSDL
Close()
Đóng kết nối tới CSDL
ChangeDatabase(“Ne
w_Database_name”)
Thay đổi CSDL (ít dùng)
CreateCommand()
Trả về đối tượng
SqlCommand
b) Đối tượng điều khiển thực thi truy vấn SQL:
Đối tượng sử dụng:
Access: OleDbCommand
SQL: SqlCommand
Thuộc tính và phương thức :
SqlCommand
Thuộc tính
Tên Chức năng
Connection
Gắn
driver (chuỗi kết nối) kết nối đến CSDL
CommandType
Xác định kiểu thực thi truy vấn (câu lệnh,
procedure, )
CommandText
Câu lệnh truy vấn
b) Đối tượng điều khiển thực thi truy vấn SQL:
SqlCommand
Phương thức
Tên Chức năng
ExecuteReader()
Phương
thức dùng chỉ đọc CSDL
ExecuteNonQuery()
Dùng thực thi các T
-SQL: Insert, Update, Delete, …
ExecuteScalar
Thực thi truy vấn mà kết quả trả về chỉ có 1 dòng 1
cột.
c) Đối tượng xử lý dữ liệu từ truy vấn SQL:
Đối tượng sử dụng:
Access: OleDbDataReader
OleDbDataAdapter
SQL: SqlDataReader
SqlDataAdapter
Thuộc tính và phương thức:
Đối tượng DataRead nhận dữ liệu chỉ đọc từ CSDL bên
dưới thông qua các đối tượng điều khiển thực thi truy
vấn SQL như SqlCommand
Ví dụ:
SqlDataReader sqlreader;
sqlreader = sqlcom.ExecuteReader();
Đối tượng DataAdapter được xem như bộ đọc dữ liệu
từ CSDL nguồn và điền chúng vào các đối tượng như
DataSet, DataTable.
c) Đối tượng xử lý dữ liệu từ truy vấn SQL:
SqlDataAdapter
Thuộc tính
Tên Chức năng
SelectCommand
InsertCommand
UpdateCommand
DeleteCommand
thực hiện các thao tác select, insert, update, delete dữ liệu
Phương thức
Fill(
<Tên_đốitượng>)
T
hực thi câu lệnh select trong sql rồi điền kết quả cho
DataSet hoặc
Datatable.
Update()
Câp
nhật các thay đổi vào dữ liệu lên các dữ liệu nguồn
Dispose()
Giải phóng đối tượng.
d) Đối tượng DataSet và DataTable:
Chức năng:
Là đối tượng được dùng để chứa dữ liệu của mọi cơ sở
dữ liệu và cho phép thay đổi dữ liệu bên trong đối tượng
này để sau đó cập nhật trở lại cơ sở dữ liệu nguồn bằng
phương thức Update của đối tượng DataAdapter
Thuộc tính và phương thức: (xem ví dụ)
Trình bày dữ liệu dạng
khung lưới
Trình bày dữ liệu dạng
bảng, có phân trang
Trình bày dữ liệu thành từng
chương mục.
Tìm hiểu các control này
thông qua các ví dụ
minh hoạ cụ thể.