Tải bản đầy đủ (.pdf) (37 trang)

LẬP TRÌNH KẾT NỐI CSDL ADO.NET pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.99 MB, 37 trang )

C4W - 1
CNPM
Khoa CNTT
Phạm Hoàng Hải
LẬP TRÌNH KẾT NỐI CSDL
ADO.NET
C4W - 2
CNPM
Khoa CNTT
Phạm Hoàng Hải
1. NỘI DUNG
 Tổng quan về ADO.Net
 Mô hình kết nối
 Mô hình phi kết nối
C4W - 3
CNPM
Khoa CNTT
Phạm Hoàng Hải
2. TỔNG QUAN VỀ ADO.NET
 Các thế hệ của lập trình kết nối CSDL

C4W - 4
CNPM
Khoa CNTT
Phạm Hoàng Hải
2. TỔNG QUAN VỀ ADO.NET
MỤC TIÊU BÀI HỌC
 Tìm hiểu về ADO.Net
 Các mô hình kết nối CSDL
(Connected & Disconnected)
 Dùng VS.Net (VB.Net) xây dựng ứng


dụng kết nối CSDL ADO.Net


ADO.NET
C4W - 5
CNPM
Khoa CNTT
Phạm Hoàng Hải
2. TỔNG QUAN VỀ ADO.NET
GIỚI THIỆU
 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



Chương trình
CSDL, XML

Thêm/xóa/sửa dữ liệu
Đọc dữ liệu
C4W - 6
CNPM
Khoa CNTT

Phạm Hoàng Hải
2. TỔNG QUAN VỀ ADO.NET
VỊ TRÍ CỦA ADO.NET
 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
 Chức năng và cách sử dụng hoàn
toàn giống nhau.


ASP.NET Windows Forms
Drawing XML
Data
Comman language Runtime
System Services
ADO.NET
Class Framework
C4W - 7
CNPM
Khoa CNTT
Phạm Hoàng Hải

2. TỔNG QUAN VỀ ADO.NET
ADO vs ADO.Net

C4W - 8
CNPM
Khoa CNTT
Phạm Hoàng Hải
2. TỔNG QUAN VỀ ADO.NET
ADO vs ADO.Net
 ADO kế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.
C4W - 9
CNPM
Khoa CNTT
Phạm Hoàng Hải
2. TỔNG QUAN VỀ ADO.NET
ADO vs ADO.Net
Khác biệt

về mô hình
Thuận lợi/khó
khăn kết nối
Internet

C4W - 10
CNPM
Khoa CNTT
Phạm Hoàng Hải
2. TỔNG QUAN VỀ ADO.NET
.Net DATA PROVIDER
 .NET Data Provider
 Dùng để kết nối đến CSDL, thực hiện
các câu lệnh, và nhận kết quả trả về.
 Hiện có 3 loại data provider chính

Application
ODBC Driver
ODBC
RDBMS
ODBC
OLE DB
RDBMS
.NET Data Provider



















Connection
Command
Data Reader
Data Adapter
OLE DB
OLE DB Provider
SQL
Server
SQL SERVER
SQL Provider
C4W - 11
CNPM
Khoa CNTT
Phạm Hoàng Hải
2. TỔNG QUAN VỀ ADO.NET
CÁC LỚP ĐỐI TƯỢNG TRONG
ADO.NET
 .NET Data Provider

 Các thành phần của .NET Data
Provider

C4W - 12
CNPM
Khoa CNTT
Phạm Hoàng Hải
2. TỔNG QUAN VỀ ADO.NET
CÁC LỚP ĐỐI TƯỢNG TRONG
ADO.NET
 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ớ
C4W - 13
CNPM
Khoa CNTT
Phạm Hoàng Hải
3. MÔ HÌNH KẾT NỐI - PHI KẾT
NỐI
 Mô hình kết nối (Connected Model)





 Mô hình phi kết nối (Disconnected
Model)
Chương trình
Chương trình
C4W - 14
CNPM
Khoa CNTT
Phạm Hoàng Hải
3. MÔ HÌNH KẾT NỐI
CONNECTED MODEL
 Kết nối vào CSDL
 Thực hiện lệnh
 Thêm/Xóa/Sửa dữ liệu
 Đọc dữ liệu từ CSDL
Chương trình
Connection
Command
DataReader



C4W - 15
CNPM
Khoa CNTT
Phạm Hoàng Hải
VÍ DỤ

 Xây dựng ứng dụng QLHS
 Yêu cầu : Tiếp nhận học sinh
C4W - 16
CNPM
Khoa CNTT
Phạm Hoàng Hải
3. MÔ HÌNH KẾT NỐI
CONNECTED MODEL
CONNECTION
 Connection: Kết nối vào CSDL
 Các lớp phụ trách kết nối
ODBCConnection
OleDBConnection
SqlConnection
OracleConnection
 Thuộc tính quan trọng
ConnectionString: xác định nguồn
dữ liệu cần kết nối
 Phương thức quan trọng
Open: mở kết nối
Close: đóng kết nối
C4W - 17
CNPM
Khoa CNTT
Phạm Hoàng Hải
1/18/2011 Khoa CNTT -
ĐH KHTN
17
3. MÔ HÌNH KẾT NỐI
CONNECTED MODEL

CONNECTION
 Kết nối vào CSDL
 Ví dụ: kết nối vào Access
OleDbConnection cnn = new OleDbConnection();
cnn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;
Data Source=hocsinh.mdb“;
cnn.Open();

//Các lệnh cần thực hiện

C4W - 18
CNPM
Khoa CNTT
Phạm Hoàng Hải
18
3. MÔ HÌNH KẾT NỐI
CONNECTED MODEL
CONNECTION
 Kiểm tra kết nối: Sau khi gọi phương
thức Open, có thể xem đã kết nối
thành công hay không thông qua
thuộc tính State của Connection.
 Ví dụ:
if (con.State.ToString() = "Open" )

C4W - 19
CNPM
Khoa CNTT
Phạm Hoàng Hải
3. MÔ HÌNH KẾT NỐI

CONNECTED MODEL
CONNECTION
 Đóng kết nối: Thi hành phương thức
Close() để đóng kết nối
 Để tránh lỗi ta nên kiểm tra trạng thái
kết nối
 Ví dụ:
If (con.State.ToString() == "Open")
con.Close();


C4W - 20
CNPM
Khoa CNTT
Phạm Hoàng Hải
3. MÔ HÌNH KẾT NỐI
CONNECTED MODEL
COMMAND
 Command: Thực hiện lệnh
 Các lớp phụ trách

ODBCCommand

OleDBCommand

SqlCommand

OracleCommand
 Thuộc tính quan trọng


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

C4W - 21
CNPM
Khoa CNTT
Phạm Hoàng Hải
3. MÔ HÌNH KẾT NỐI
CONNECTED MODEL
COMMAND
 Các cách để tạo Command
 Tạo Command từ phương thức tạo dựng
OleDbCommand com = new OleDbCommand("select
* from sinhvien", con);
 Tạo command từ phương thức
CreateCommand của đối tượng Connection
OleDbCommand com = con.CreateCommand();
command.CommandText = "select * from sinhvien“;

 Tạo Command bằng cách đặt các thuộc tính
sau khi khai báo
OleDbCommand com =new OleDbCommand();
com.CommandType = CommandType.Text;
com.CommandText ="Select * from sinhvien";
com.Connection = con;


C4W - 22
CNPM
Khoa CNTT
Phạm Hoàng Hải
3. MÔ HÌNH KẾT NỐI
CONNECTED MODEL
COMMAND
 Ví dụ
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = connect;
cmd.CommandText = "insert into Hocsinh
values(@Ma,@HoTen,@Diachi,@NgaySinh,@Toan,@Van)“;

OleDbParameter para =
cmd.Parameters.Add("@Ma",OleDbType.Integer)
para.Value=1;
para=cmd.Parameters.Add("@HoTen",OleDbType.VarWChar)
para.Value="Lê Văn A“;
para=cmd.Parameters.Add("@Diachi",OleDbType.VarWChar)
para.Value="Nguyễn Văn Cừ“;
para = cmd.Parameters.Add("@Ngaysinh", OleDbType.Date)
para.Value = new DateTime(1982,10,1);

para=cmd.Parameters.Add("@Toan",OleDbType.Integer);
para.Value=5;
para=cmd.Parameters.Add("@Van",OleDbType.Integer);
para.Value=7;

cmd.ExecuteNonQuery();
C4W - 23
CNPM
Khoa CNTT
Phạm Hoàng Hải
3. MÔ HÌNH KẾT NỐI
CONNECTED MODEL
READER
 Reader: Thực hiện lệnh
 Đọc dữ liệu từ CSDL

 Dùng lệnh ExecuteReader hoặc
ExecuteScalar
 Lớp XXXDataReader
 Read
 GetXXX
 IsDBNull
Book
ID
BookNam
e
Author
1 Book 1 Author
1
2 Book 2 Author

2
3 Book3 Author
3
Dữ liệu chỉ
đọc theo
chiều tiến
(Readonly)
C4W - 24
CNPM
Khoa CNTT
Phạm Hoàng Hải
3. MÔ HÌNH KẾT NỐI
CONNECTED MODEL
READER
 Reader: Thực hiện lệnh
 Đọc dữ liệu từ CSDL
 Ví dụ

OleDbDataReader rd = cmd.ExecuteReader();
while (rd.Read())
{
if (!rd.IsDBNull(3))
Console.WriteLine(rd.GetDateTime(3));
}

C4W - 25
CNPM
Khoa CNTT
Phạm Hoàng Hải
4. MÔ HÌNH PHI KẾT NỐI

DISCONNECTED MODEL

Chương trình
DataAdapter

×