ADO.NET
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

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.

test php

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.

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 [free tuts .net]

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:

Prototype Design Pattern trong C# - Cách triển khai và ví dụ

Prototype Design Pattern trong C# - Cách triển khai và ví dụ

Builder Design Pattern trong C# - Cách triển khai và ví dụ

Builder Design Pattern trong C# - Cách triển khai và ví dụ

Tự viết ứng dụng quản lý xe ra vào C# Winforms và Firebase

Tự viết ứng dụng quản lý xe ra vào C# Winforms và Firebase

Trong bài viết này Freetuts chia sẽ cho các bạn một ứng dụng khá thú…

Factory Design Pattern trong C# - Cách triển khai và ví dụ

Factory Design Pattern trong C# - Cách triển khai và ví dụ

Chúng ta sẽ tìm hiểu về Factory Design Pattern trong C# là gì? Cách triển…

Hướng dẫn giải phương trình bậc hai trong C#

Hướng dẫn giải phương trình bậc hai trong C#

Giải phương trình bậc nhất ax + b = 0 trong C#

Giải phương trình bậc nhất ax + b = 0 trong C#

Cách nối hai mảng trong C# bằng hai cách khác nhau

Cách nối hai mảng trong C# bằng hai cách khác nhau

Hướng dẫn chuyển đổi giờ phút giây trong C#

Hướng dẫn chuyển đổi giờ phút giây trong C#

Cách tìm số lớn nhất trong mảng C# cực dễ

Cách tìm số lớn nhất trong mảng C# cực dễ

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

Cách kiểm tra sự tồn tại của giá trị x trong mảng C#

Cách kiểm tra sự tồn tại của giá trị x trong mảng C#

Mình sẽ thực hiện một chương trình kiểm tra giá x có tồn ...

Cách tìm số nhỏ nhất và lớn nhất trong C#

Cách tìm số nhỏ nhất và lớn nhất trong C#

Mình sẽ thực hiện hai chương trình để tìm số nhỏ nhất và số lớn…

Cách tạo các số ngẫu nhiên (Random) trong C#

Cách tạo các số ngẫu nhiên (Random) trong C#

Cách tính căn bậc hai trong C# cực dễ

Cách tính căn bậc hai trong C# cực dễ

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

Cách làm tròn số trong C# bằng hàm Math.Round

Cách làm tròn số trong C# bằng hàm Math.Round

Mình sẽ thực hiện làm tròn số theo nhiều cách khác nhau để các bạn…

Cách tìm ước số của một số nguyên trong C#

Cách tìm ước số của một số nguyên 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 tìm bội chung nhỏ nhất trong C#

Cách tìm bội chung nhỏ nhất trong C#

Cách kiểm tra số chính phương trong C#

Cách kiểm tra số chính phương trong C#

Trước đi vào viết chương trình, các bạn cùng ...

Cách kiểm tra số hoàn hảo trong C#

Cách kiểm tra số hoàn hảo trong C#

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

Cách đảo ngược các phần tử trong mảng C#

Cách đảo ngược các phần tử trong mảng C#

Mình sẽ thực hiện một chương trình nhận các giá trị của các phần ...

Cách tính trung bình cộng các phần tử trong mảng C#

Cách tính trung bình cộng các phần tử trong mảng C#

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

Top