LẬP TRÌNH WINDOWS 2
(VB.NET)
Bài 1: Giới thiệu về
ADO.NET
Nội dung
Giới thiệu ADO.NET
Các đối tượng trong ADO.NET
SqlConnection
SqlCommand
SqlParameter
SqlDataReader
SqlDataAdapter
Giới thiệu ADO.NET
ADO.NET là một bộ các thư viện cho phép ta tương tác với
dữ liệu nguồn. Dữ liệu nguồn là một cơ sở dữ liệu
(database), nhưng nó cũng có thể là file text, excel ho ặc
XML.
Hiện nay có nhiều hệ cơ sở dữ liệu: Access, SQL Server,
Mysql, Oracle, Postgresql, IBM DB2…
ADO.NET ra đời để thống nhất quá trình làm việc với các
hệ cơ sở dữ liệu khác nhau.
ADO.NET cung cấp một cách thức chung để tương tác với
nguồn dữ liệu, nhưng với mỗi loại dữ liệu Ta phải sử dụng
một thư viện khác nhau. Các thư viện này được gọi là Data
Provider và thường được đặt tên theo giao thức hoặc loại
dữ liệu mà chúng cho phép bạn truy xuất.
.Net Data Provider
Các đối tượng của ADO.NET
SqlConnection
SqlCommand
SqlParameter
SqlDataReader
DataSet
SqlDataAdapter
SqlConnection
Là đối tượng dùng để kết nối tới cơ sở dữ liệu (thông qua
chuỗi kết nối: Tên server, tên CSDL, Tên user, pass…)
Các phương thức chính: Open, Close
Nó được sử dụng bởi lớp SqlCommand
SqlCommand
Quá trình tương tác với CSDL cần phải biết hành động nào
bạn muốn xảy ra.
Điều này được thực hiện bởi đối tượng SqlCommand. Ta sẽ
dùng đối tượng SqlCommand để gửi một câu lệnh SQL tới
database.
SqlCommand dùng một đối tượng connection để xác định
database nào sẽ được truy xuất. Ta có thể dùng một đối
tượng command riêng lẻ để thực thi lệnh trực tiếp, hoặc để
gắn một tham chiếu của đối tượng command cho một
SqlDataAdapter.
Thực hiện SqlCommand có thể trả tập dữ liệu hoặc không
SqlParameter
Là đối tượng để gán các biến cho câu truy vấn trong
SqlCommand
SqlDataReader
SqlDataReader cho ta lấy được kết quả của một câu lệnh
SELECT từ một đối tượng command.
Để tăng hiệu suất, dữ liệu trả về từ một data reader là một
luồng dữ liệu fast forward-only. Có nghĩa là ta chỉ có th ể l ấy
dữ liệu từ luồng theo một thứ tự nhất định.tăng tốc độ lấy
dữ liệu
DataSet
DataSet là một thể hiện của dữ liệu trong bộ nhớ. Chúng
chứa nhiều đối tượng DataTable, bên trong DataTable lại có
nhiều column và row, giống như các database table thông
thường. Ta thậm chí có thể định nghĩa dữ liệu giữa các table
để tạo các quan hệ Master-detail.
DataSet được thiết kế đặc biệt để giúp quản lý dữ liệu trong
bộ nhớ và để hỗ trợ các thao tác không cần kết nối
(disconnected) trên dữ liệu. DataSet là một đối tượng được
dùng bởi tất cả Data Provider, đó là lý do tại sao nó không có
một Data Provider prefix trong tên gọi.
Có thể dùng SqlDataAdapter để đổ dữ liệu vào Dataset
DataSet
SqlDataAdapter
Đôi lúc dữ liệu ta làm việc là read-only và ít khi c ần thay đ ổi
dữ liệu nguồn. Vài trường hợp cần lưu trữ tạm dữ liệu trong
bộ nhớ để hạn chế truy xuất đến database. SqlDataAdapter
làm điều này dễ dàng bằng cách giúp ta quản lý dữ liệu
trong chế độ ngắt kết nối.
SqlDataadapter sẽ đổ vào DataSet khi đọc dữ liệu và thực
hiện thay đổi dữ liệu một lượt vào database.
SqlDataAdapter
SqlDataAdapter chứa một tham chiếu đến đối tượng
connection và mở/đóng kết nối tự động khi đọc và ghi dữ
liệu vào database.
Nó chứa đối tượng command cho những thao tác SELECT,
INSERT, UPDATE và DELETE trên dữ liệu. Ta sẽ có một data
adapter được định nghĩa cho mỗi table trong một DataSet và
nó sẽ quản lý các giao tiếp với database cho ta. T ất cả nh ững
gì ta cần làm là chỉ cho data adapter khi nào n ạp ho ặc ghi
vào database.
SqlDataAdapter
Bài 2: Cách kết nối VB.NET tới
SQL Server
SqlConnection
Là đối tượng dùng để kết nối tới cơ sở dữ liệu (thông qua
chuỗi kết nối: Tên server, tên CSDL, Tên user, pass…)
Các phương thức chính: Open, Close
Nó được sử dụng bởi lớp SqlCommand
Kết nối VB.NET tới SQL Server
Cách tạo chuỗi kết nối
Mở kết nối
Đóng kết nối
Cách tạo chuỗi kết nối
strConnection = "Data
Source=THANHTRAN; Initial
Catalog=CSDLTest;
Integrated Security=True";
strConnection = "Data
Source=THANHTRAN; Database=CSDLTest;
Integrated Security=True";
strConnection = "Data
Source=THANHTRAN; Database=CSDLTest;
Integrated Security=SSPI";
strConnection = "SERVER=THANHTRAN;
Database=CSDLTest;
User Id=sa;pwd=@123X";
strConnection =
"SERVER=THANHTRAN;
Database=CSDLTest;
User Id=sa;Password=@123X";
Cách tạo chuỗi kết nối
Data Source: Tên máy nơi cài đặt SQL Server có nguồn dữ liệu
muốn kết nối.
Initial Catalog: Tên database muốn kết nối.
Intergrated Security : True(SSPI)/ False chỉ định dùng cơ chế
bảo mật của Windows Login (True) hay cơ chế bảo mật của SQL
Server (False)
User ID: Tên người dùng (phải khai báo khi Integrated Security
= False)
Password: Mật khẩu (phải khai báo khi Integrated Security =
False)
Mở kết nối
Sử dụng thư viện :
Try
import System.Data.SqlClient
Dim strconn As String
strconn = "Data Source=ADMINPC\SQLEXPRESS;Initial
Catalog=CsdlCongty;Integrated Security=True"
Dim conn As New SqlConnection(strconn)
conn.Open()
MessageBox.Show("Kết nối thành công")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
Đóng kết nối
If conn.State = ConnectionState.Open Then
conn.Close()
End If
Bài 3: Cách thêm, sửa, xóa, tìm
kiếm dữ liệu sử dụng
SQLDataReader
SqlCommand
Quá trình tương tác với CSDL cần phải biết hành động nào
bạn muốn xảy ra.
Điều này được thực hiện bởi đối tượng SqlCommand. Ta sẽ
dùng đối tượng SqlCommand để gửi một câu lệnh SQL tới
database.
SqlCommand dùng một đối tượng connection để xác định
database nào sẽ được truy xuất. Ta có thể dùng một đối
tượng command riêng lẻ để thực thi lệnh trực tiếp, hoặc để
gắn một tham chiếu của đối tượng command cho một
SqlDataAdapter.
Thực hiện SqlCommand có thể trả tập dữ liệu hoặc không
Command
Tạo Command
Các thuộc tính của Command