ADO.NET
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

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.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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.

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.

Cùng chuyên mục:

Cách dùng Stack (ngắn xếp) trong C#

Cách dùng Stack (ngắn xếp) trong C#

Mình sẽ giới thiệu về các đặc điểm, thuộc tính và phương thức của Stack…

Cách dùng Queue (hàng đợi) trong C#

Cách dùng Queue (hàng đợi) trong C#

Mình sẽ giới thiệu về các đặc điểm, thuộc tính, phương thức của Queue, cũng…

Cách dùng Hashtable (bảng băm) trong C#

Cách dùng Hashtable (bảng băm) trong C#

Cụ thể sẽ tìm hiểu Hashtable là gì? các đặc điểm của nó, cùng với…

Sự kiện Enter và Leave trong C# Winforms

Sự kiện Enter và Leave trong C# Winforms

Trong bài viết này mình sẽ hướng dẫn các bạn cách ...

Sự kiện KeyPress, KeyDown, KeyUp trong C# Winforms

Sự kiện KeyPress, KeyDown, KeyUp trong C# Winforms

Một câu hỏi được đặt ra là làm cách nào để có thể phát hiện…

Sắp xếp trộn trong C# (Merge Sort)

Sắp xếp trộn trong C# (Merge Sort)

Trong bài viết này mình sẽ hướng dẫn các bạn cách sắp xếp các ..

Sắp xếp nổi bọt trong C# (Bubble Sort)

Sắp xếp nổi bọt trong C# (Bubble Sort)

Trong bài viết này mình sẽ hướng dẫn các bạn cách sắp ...

Cách in ra hình tam giác ký tự * trong C#

Cách in ra hình tam giác ký tự * trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách ...

Cách tính tổng các số chẵn từ 1 đến N trong C#

Cách tính tổng các số chẵn từ 1 đến N trong C#

Trước khi đi vào viết chương trình, chúng ta cùng tìm hiểu qua số chẵn…

Cách tính tổng các số lẻ từ 1 đến N trong C#

Cách tính tổng các số lẻ từ 1 đến N trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách tính tổng các lẻ…

Cách đếm số chữ số của một số nguyên trong C#

Cách đếm số chữ số của một số nguyên trong C#

Chúng ta cùng xem qua một số ví dụ để hiểu rõ hơn về chương…

Cách tính chu vi và diện tích hình tam giác trong C#

Cách tính chu vi và diện tích hình tam giác trong C#

Tam giác là một loại hình cơ bản trong hình học, có ba đỉnh là…

Cách tính chu vi và diện tích hình tròn trong C#

Cách tính chu vi và diện tích hình tròn trong C#

Trước khi đi vào viết chương trình tính chu vi và diện ..

Cách tính chu vi và diện tích hình chữ nhật trong C#

Cách tính chu vi và diện tích hình chữ nhật trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn ...

Cách xóa phần tử trùng lặp khỏi mảng trong C#

Cách xóa phần tử trùng lặp khỏi mảng trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách loại bỏ các ..

Cách tìm tất cả các chuỗi con của chuỗi đã cho trong C#

Cách tìm tất cả các chuỗi con của chuỗi đã cho trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách tìm ...

Cách xóa các ký tự trùng lặp khỏi chuỗi trong C#

Cách xóa các ký tự trùng lặp khỏi chuỗi trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách xóa các ký tự…

Đếm số lần xuất hiện của ký tự trong chuỗi trong C#

Đếm số lần xuất hiện của ký tự trong chuỗi trong C#

Trong bài viết này minh sẽ hướng dẫn các bạn cách đếm ...

Cách chuyển đổi nhị phân sang thập phân trong C#

Cách chuyển đổi nhị phân sang thập phân trong C#

Trong bài viết này mình sẽ hướng dẫn các bạn cách chuyển đổi số ...

Cách chuyển đổi thập phân sang nhị phân trong C#

Cách chuyển đổi thập phân sang nhị phân trong C#

Số nhị phân là các con số có cơ số là 2. Các số nhị…

Top