Tải bản đầy đủ (.docx) (7 trang)

Kết nối CSDL

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 (108.63 KB, 7 trang )

Kết nối CSDL
Trong thực tế, có rất nhiều ứng dụng cần tương tác với cơ sở dữ liệu. .Net
Framework cung cấp một tập các đối tượng cho phép truy cập vào cơ sở dữ liệu,
tập các dữ liệu nàu gọi chung ADO.Net. ADO.Net kết nối vào cơ sở dữ liệu để lấy
dữ liệu và kết nối trở lại để cập nhật dữ liệu khi người dùng thay đổi chúng. Hầu
hết mọi ứng dụng đều sử dụng nhiều thời gian cho việc đọc và hiển thị dữ liệu, vì
thế ADO.Net đã cung cấp một tập hợp con các đối tượng dữ liệu không kết nối cho
các ứng dụng để người dùng có thể đọc và hiển thị chúng mà không cần kết nối
vào cơ sở dữ liệu.
4.1.Cơ sở dữ liệu và ngôn ngữ truy vấn SQL.
Để có thể hiểu rõ cách làm việc ADO.Net, chúng ta cần nắm một số khái niệm
cơ bản về cơ sở dữ liệu quan hệ và ngôn ngữ truy vấn dữ liệu như : khái niệm
dòng, cột, bảng, quan hệ giữa các bảng, khóa ngoại, khóa chính, và cách truy vấn
trên các bảng bằng ngôn ngữ truy vấn SQL: Seclect, Update, Delete, Insert…. Một
số hàm count, sum, avg, min, max ,hay cách viết thủ tục Store Procedure.
4.2.Kiến trúc ADO.NET
ADO.Net là tên của tập các lớp nằm trên namespace:
System.Data.System.Data.Common
System.Data.SqlTypes
System.Data.SqlClient
System.Data.OleDb;
ADO được chia làm 2 phần chính rõ rệt, được thể hiện qua hình
Hình 4.1
Dataset là thành phần chính cho đặc trưng kết nối không liên tục của cấu
trúc ADO.Net. Dataset được thiết kế có thể thích ứng với bất kì nguồn dữ liệu nào.
Dataset chứa một hay nhiều đối tượng DataTable mà nó được tạo ra từ tập các
dòng và cột dữ liệu, cùng với khóa chính, khóa ngoại ràng buộc và các thông tin
liên quan đến đối tượng DataTable này. Bản thân DataSet được xem dạng tập tin
XML.
Thành phần thứ hai Provide Data nó chứa các đối tượng phục vụ cho việc thao
tác trên cơ sở dữ liệu được hiệu quả và nhanh chóng, nó bao gồm một tập các đối


tượng Connection, Command, DataReader và DataAdapter. Đối tượng Connection
cung cấp kết nối đến cơ sở dữ liệu, Command cung cấp một thao tác đến cơ sở dữ
liệu, DataReader cho phép chỉ đọc dữ liệu, DataAdapter cầu nối trung gian giữa cơ
sở dữ liệu và DataSet.
4.3.DataProvider.
4.3.1 DataProvider có 5 loại đối tượng:
- Connection
- Command
- DataReader
- Parameter
- DataAdapter.
4.3.2 DataProvider có hai trình cung cấp dữ liệu:
+ SQL Sever Data Provider bao gồm các đối tượng sau:
- SqlConnection
- Sql Command
- Sql Parameter
- Sql DataAdapter
- Sql DataReader
+ OLE DB Data Provider bao gồm các đối tượng sau:
- OleDbConnection
- OleDbCommand
- OleDb Parameter
- OleDb DataAdapter
- OleDb DataReader.
4.3.3 Đối tượng SqlConnection và SqlCommand.
Đối tượng SqlConnection đại diện cho một kết nối đến cơ sở dữ liệu, đối tượng
này có thể được dùng chung cho các đối tượng SqlCommand khác. Đối tượng
SqlCommand cho phép thực hiện một câu truy vấn trực tiếp như: SELECT,
UPDATE, hay DELETE hay gọi thủ tục (Store Proceduce) từ cơ dở dữ liệu.
Ví dụ:

//Tao kết nối
SqlConnection cnn = new SqlConnection();
//Kết nối đên sever local, tên CSDL sử dung sever có tên Northwind; SSPI
để dùng cho Windows authentication
cnn.ConnectionString = "Data Source=(local);" + "Initial
Catalog=Northwind;" + "Integrated Security=SSPI";
// Tạo đối tượng Sqlcommand
SqlCommand cmd = cnn.CreateCommand();

//Xác định kiểu câu lệnh cần thực hiện
cmd.CommandType = CommandType.Text;
//Xác định câu lệnh cần đối tượng SqlCommand
cmd.CommandText = "SELECT COUNT(*) FROM Customers " +
"WHERE Country='" + txtCountry.Text + "'";
4.3.4 Đối tượng DataAdapter.
ADO.Net dùng DataAdapter như chiếc cầu nối trung gian giữa DataSet và
DataSource (nguồn dữ liệu), nó lấy dữ liệu từ cơ sở dữ liệu sau đó dùng phương
thức Fill() để đẩy dữ liệu cho đối tượng DataSet. Nhờ đối tượng DataAdapter mà
DataSet tồn tại độc lập, cách biệt với cơ sở dữ liệu và một DataSet có thể là thể
hiện của một hay nhiều cơ sở dữ liệu.Ví dụ:

//Tạo đối tượng SqlDataAdapter
SqlDataAdapter da = new SqlDataAdapter();
//Cung cấp cho da một Sqlcommand và SqlConnection
//lấy dữ liệu...

//Tạo đối tượng DataSet mới
DataSet ds= new DataSet();
//Đẩy dữ liệu da vào trong ds bằng hàm Fill()
da.Fill(ds, "Ten bang");

4.4.DataSet
Đối tượng DataSet là thành phần chính của kiến trúc không kết nối cơ sở dữ
liệu, được dùng để nắm giữ dữ liệu của mọi cơ sở 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 SqlDataAdapter. Trước khi sử dụng dữ liệu trong DataSet ta phải lấy dữ liệu
về DataSet. Quá trình lấy về DataSet gồm 4 bước:
- Xây dựng đối tượng Sql Connnection để kết nối CSDL.
- Xây dựng đối tượng SqlCommand để lấy dữ liệu cần thiết.
- Gán đối tượng SqlCommand cho thuộc tính SeclectCommand của đối
tượng SqlDataAdapter.
- Gọi phương thức Fill của đối tượng SqlDataAdapter để lấy dữ liệu cần
thiết.


Hình 4.2 :Mô hình của DataSet
4.4.1.Đối tượng DataTable và DataColumn.
Ta có thể viết mã C# để tạo ra đối tượng DataTable hay nhận từ kết quả của
câu truy vấn đến cơ sở dữ liệu. DataTable có một số thuộc tính dùng chung(public)
như thuộc tính Columns, từ thuộc tính này ta có thể truy vấn đến đối tượng
DataColumnsCollection thông qua chỉ ,mục hay tên cột để nhận về các đối tượng
DataColumn thích hợp, mỗi DataColumn tương ứng với một cột trong bảng dữ
liệu. Ví dụ:
DataTable dt= new DataTable("Ten bang");

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×