• Home »
  • Csharp »
  • Sử dụng ADO.NET kết nối tới cơ sở dữ liệu Microsoft SQL Server

Sử dụng ADO.NET kết nối tới cơ sở dữ liệu Microsoft SQL Server


      Trong bài này, chúng ta sẽ tìm hiểu cách sử dụng Sử dụng ADO.NET kết nối tới cơ sở dữ liệu Microsoft SQL Server thông qua sử dụng .NET Framework Data Provider dành cho Microsoft SQL Server nằm trong không gian tên System.Data.SqlClient trong thư viện .Net Framework của Microsoft bằng ngôn ngữ lập trình C#.

Trong bài này, chúng ta sẽ tìm hiểu cách sử dụng Sử dụng ADO.NET kết nối tới cơ sở dữ liệu Microsoft SQL Server thông qua sử dụng .NET Framework Data Provider

     Để thực hiện kết nối tới cơ sở dữ liệu Microsoft SQL Server đầu tiên trên máy tính của các bạn cần phải cải đặt một hệ quản trị cơ sở dữ liệu trong Microsoft SQL Server phiên bản 7 trở nên. Hãy xem xét ví dụ dưới đây sử dụng ngôn ngữ C# để truy cập tới 1 bảng khách hàng MitBeoCustomer trong cơ sở dữ liệu MitBeo.

     Câu lệnh SQL tạo base, tạo bảng MitBeoCustomer 

     Các bạn dùng SQL command line hoặc mở Microsoft SQL Server Management Studio để tạo cơ sở dữ liệu MitBeo như sau

      Sau khi chạy các cậu lệnh SQL trên trong cơ sở dữ liệu MitBeo sẽ có bảng MitBeoCustomer như sau :

NET Framework Data Provider for Microsoft SQL

     Để truy cập tới cơ sở dữ liệu MitBeo khi sử dụng .NET Framework Data Provider dành cho Microsoft SQL trong ADO.NET cần khởi tạo một đối tượng SqlConnection để mở kết nối tới base, cần một SqlCommand để thực thi một câu lệnh truy vấn tới bảng .





1.  Nhận kết quả truy vấn bảng bằng cách sử dụng đối tương SqlDataAdapter

      Dưới đây là code nhận kết quả trả về khi truy vấn bảng  MitBeoCustomer  trong cơ sở dữ liệu MitBeo bằng việc  nhận kết quả trả về bằng cách sử dụng đối tượng SqlDataAdapter trong ADO.NET để lẫy dữ liệu trong cơ sở dữ liệu và trả về DataTable trong bộ nhớ như sau :

Code

Result

      Sử dụng hàm hiện thi kết quả với dữ liệu đầu vào là một DataTable

         Chúng ta nhận được kết quả như sau :

get table from database using SqlDataAdapter


2.  Nhận kết quả truy vấn bảng bằng cách sử dụng đối tương SqlDataReader

     Dưới đây là code nhận kết quả trả về khi truy vấn bảng  MitBeoCustomer  trong cơ sở dữ liệu MitBeo bằng việc  nhận kết quả trả về bằng cách sử dụng đối tượng SqlDataReader trong ADO.NET chỉ đọc, chỉ chuyển tiếp như sau :

 Code

Result

     Để nhận kết quả từ bảng MitBeoCustomer từ SqlDataReader ta cần khai báo thêm 1 lớp MitBeoCustomerClass trong ngôn ngữ C# mà có các thuộc tính của nó tương ứng với các cột dữ liệu trong bảng MitBeoCustomer  như sau :

     Sử dụng hàm hiện thi kết quả với dữ liệu đầu vào là một danh sách các lớp MitBeoCustomerClass

Chúng ta nhận được kết quả như sau :

get table from database using SqlDataReader


3.  Sử dụng SqlDataAdapter hay SqlDataReader

      Nếu chỉ đọc dữ liệu từ bảng, bạn nên dùng SqlDataReader,  vì bạn dùng SqlDataReader có tốc độ nhanh hơn rất nhiều với SqlDataAdapter.  Dưới đây là đoạn code sử dụng lớp Stopwatch để so sánh thời gian chương trình thực thi của SqlDataAdapter và SqlDataReader trong ADO.NET để minh họa cho nhận xét trên:

Code

 Result

       Kết quả thực thi của chương trình cho thấy SqlDataReader đã chạy nhanh gấp nhiều lần SqlDataAdapter, và ở ví dụ này là nhanh hơn 10 lần

performance of SqlDataAdapter vs SqlDataReader

Các bạn có thể Download code : Tại đây




[Ngôn ngữ lập trình C#]


Related Post

Phản hồi

Phản hồi