ADO.NET là gì? Các thành phần quan trọng của ADO .NET

Trong bài viết này mình sẽ giới thiệu cho các bạn sơ lược về ADO.NET. Đây là một nhà phát triển .NET bao gồm các thư viện được cung cấp bởi Microsoft.

Nếu bạn theo lập trình Winform bằng C# hoặc lập trình web bằng công nghệ .NET thì chắc chắ sẽ đụng đến thư viện này. Nó được xem là cốt lõi của công nghệ .NET, giúp kết nối với database, xử lý truy vấn database và trả kết quả về cho người dùng.

1. ADO.NET là gì?

ADO là viết tắt của Microsoft ActiveX Data Objects. ADO.NET là một trong những công nghệ truy cập dữ liệu của Microsoft. Nó là một phần của .Net Framework được sử dụng để thiết lập kết nối giữa ứng dụng .NET và các nguồn dữ liệu.

Các nguồn dữ liệu có thể là SQL Server, Oracle, MySQL, XML, …. ADO.NET bao gồm một tập hợp các lớp có thể được sử dụng để kết nối, truy xuất, chèn và xóa dữ liệu khỏi nguồn dữ liệu. ADO.NET chủ yếu sử dụng System.Data.dllSystem.Xml.dll.

Bài viết này được đăng tại [kiso.vn]

2. Những loại ứng dụng nào sử dụng ADO.NET

ADO.NET có thể được sử dụng để phát triển bất kỳ loại ứng dụng .NET nào. Sau đây là một số ứng dụng .NET mà bạn có thể sử dụng công nghệ truy cập dữ liệu ADO.NET để tương tác với nguồn dữ liệu.

  1. ASP.NET Web Form Applications
  2. Windows Applications
  3. ASP.NET MVC Applications
  4. Console Applications
  5. ASP.NET Web API Applications

3. Các thành phần (Components) của ADO.NET

Các Compnents của ADO.NET được thiết kế để thao tác dữ liệu và truy cập nhanh vào dữ liệu. Connecton, Command, DataReader, DataAdapter, DataSet và DataView là các Components của ADO.NET được sử dụng để thực hiện các hoạt động cơ sở dữ liệu. ADO.NET có hai thành phần chính được sử dụng để truy cập và thao tác dữ liệu như sau:

  1. Data Provider
  2. DataSet

4. .NET Data Providers là gì?

Cơ sở dữ liệu không thể thực thi trực tiếp code C# của chúng ta, nó chỉ hiểu SQL. Vì vậy, nếu ứng dụng .NET muốn truy xuất dữ liệu hoặc thực hiện một số thao tác chèn, cập nhật, xóa từ ứng ứng vào CSDL thì cần:

  1. Kết nối với CSDL.
  2. Chuẩn bị câu lệnh SQL.
  3. Thực hiện lệnh.
  4. Lấy kết quả và hiển thị chúng trong ứng dụng.

Sau đây mình sẽ thực hiện bước đầu tiên là kết nối với CSDL để các bạn có thể thấy rõ hơn. Các bước còn lại ở các bài sau mình sẽ hướng dẫn cụ thể nhé.

ADO.NET kết nối với SQL Server Database

Trong phần này mình có một đoạn code mẫu để kết nối với cơ sở dữ liệu SQL Server và truy xuất dữ liệu như sau:

//khai báo lớp SqlConnection có chuỗi kết nối với CSDL SQL Server
SqlConnection connection = new SqlConnection("data source=.; database=TestDB; integrated security=true");
//khai báo lớp SqlCommand để chèn câu lệnh Query vào SQL Server
SqlCommand command = new SqlCommand("Select * from Customers", Connection);
//mở chuỗi kết nối tới CSDL
connection.Open();
//sử dụng phương thức SqlDataReader để truy xuất dữ liệu từ CSDL
SqlDataReader myReader = command.ExecuteReader();
while(myReader.Read())
{
    Console.WriteLine("t{0}/t{1}", myReader.GetInt32(0), myReader.GetString(1));
}
//đóng chuỗi kết nối
connection.Close();

Như các bạn đã thấy thì trong đoạn code này mình có sử dụng một số lớp như SqlConnection, SqlCommand, SqlDataReader. Các lớp này được gọi là Data Providers và các lớp này chịu trách nhiệm tương tác với cơ sở dữ liệu.

Thêm một điều nữa nếu các để ý thì tất cả các lớp này để có tiền tố là Sql, điều đó có nghĩa là các lớp này chỉ tương tác với CSDL SQL Server.

*Lưu ý: Để sử dụng được các lớp này các bạn cần khai báo namespace System.Data.SqlClient. Đây là một namespace được sử dụng cho cơ sở dữ liệu SQL Server.

ADO.NET kết nối với Oracle Database

Tương tự như phần trên, ở đây mình có một đoạn code được sử dụng để kết nối với cơ sở dữ liệu Oracle:

OracleConnection connection = new OracleConnection("data source=.;database=TestDB; integrated security=true");
OracleCommand command = new OracleCommand("Select * from Customers", connection);
connection.Open();
OracleDataReader myReader = command.ExecuteReader();
while (myReader.Read())
{
     Console.WriteLine("t{0}t{1}", myReader.GetInt32(0), myReader.GetString(1));
}
connection.Close();

Tất cả các lớp ở trên đều nằm trong namespace System.Data.OracleClient. Vì vậy các bạn cần khai báo namespace này để sử dụng được các lớp của nó.

*Ngoài ra: Nếu các bạn muốn giao tiếp với các nguồn dữ liệu OLEDB như Excel, Access, … thì bạn cần sử dụng các lớp OleDbConnection, OleDbCommandOleDbDataReader. Vì vậy bạn cần khai báo namespace System.Data.OleDb để có thể sử dụng các lớp của nó.

Các bạn có thể xem hình dưới đây để hiểu rõ hơn về Data Providers:

gioi thieu adonet 01 PNG

5. DataSet là gì?

DataSet không dành riêng cho một Data Provider (nhà cung cấp) nào cả. Khi bạn kết nối với cơ sở dữ liệu, hãy thực thi lệnh và truy xuất dữ liệu vào ứng dụng .NET. Dữ liệu sau đó có thể được lưu trữ trong DataSet và hoạt động độc lập với CSDL. Vì vậy, nó được sử dụng để truy cập dữ liệu độc lập từ bất kỳ nguồn dữ liệu nào. DataSet chứa một tập hợp một hoặc nhiều đối tượng trong DataTable.

Như vậy là chúng ta đã tìm hiểu sơ lược về ADO.NET, trong các bài viết sắp tới mình sẽ giới thiệu cụ thể về đối tượng ADO.NET này. Ở đây mình cố gắng giới thiệu tổng quan để các bạn hiểu về ADO.NET là gì? và nó được sử dụng như thế nào. Bài tiếp theo mình sẽ hướng dẫn cụ thể các bước sử dụng ADO.NET với SQL Server.

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *