Thao tác SQL Server với C# [ADO.NET]

Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu về ADO.NET sử dụng cơ sở dữ liệu SQL Server. Ở đây các bạn sẽ hiểu được cách kết nối với CSDL SQL Server và các thao tác cơ bản với CSDL bằng ADO.NET.

Để có thể thực hiện được, các bạn cần cài đặt SQL Server trên máy tính của mình (cách cài đặt trên google). Hiện tại thì mình đang sử dụng công cụ SQL Server Management Studio (SSMS) để tương tác với SQL Server.

1. Mở SQL Server Management Studio Tool

Khi các bạn mở SSMS (SQL Server Management Studio), nó sẽ đưa bạn tới cửa sổ để kết nối với máy chủ. Tại đây, các bạn cần cung cấp tên máy chủ và các thông tin xác thực và nhấn nút Connect để kết nối như hình dưới đây.

bai2 01 PNG

Khi bạn đã kết nối thành công thì giao diện của SQL Server Management Studio sẽ như hình. Ở dây mình đang sử dụng SSMS với phiên bản 2012, các bạn có thể cài đặt phiên bản mới nhất để sử dụng hết các tính năng của nó.

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

bai2 02 PNG

2. Tạo cơ sở dữ liệu trong SQL Server

Để tạo mới database bằng GUI trên SSMS, đầu tiên các bạn nhấp chuột phải vào Databases tại mục Object Explorer ở góc bên trái. Khi đó một cửa sổ menu hiện lên, các bạn chọn vào New Database như hình dưới đây để tạo mới một database.

bai2 03 PNG

Sau khi chọn New Database một cửa sổ mới sẽ mở ra. Tại đây, các bạn cần cung cấp tên database và nhấn vào nút OK. Mình đã đặt tên cho database là Students, các bạn có thể đặt tùy ý theo project để dễ quản lý.

bai2 04 png

Khi tạo xong thì database của chúng ta sẽ nằm ở bên trong Databases ở mục Object Explorer.

bai2 05 png

3. Thiết lập kết nối và tạo bảng

Khi chúng ta đã tạo xong database Students trong SSMS, bây giờ sẽ tạo một bảng mới có tên là Student bằng cách sử dụng ADO.NET và code C#.

Đầu tiên các bạn cần mở Visual studio 2019 (các bạn có thể sử dụng bất kỳ phiên bản nào của visual studio). Sau đó tạo một project .NET Console Application và đặt tên cho project ta sẽ được hình như dưới đây.

bai2 06 PNG

Bây giờ chúng ta sẽ đi tạo chuỗi kết nối tới SQL Server bằng file App.config, cụ thể như sau:

Bước 1: Nhấn đúp chuột vào file App.config ở mục Solution Explorer để mở file.

Bước 2: Thêm đoạn code tạo chuỗi kết nối vào file, sau đó lưu lại.

bai2 07 PNG

Bước 3: Thêm thư viện Configuration vào project bằng cách chuột phải vào References và chọn Add Reference.

bai2 08 PNG

Sau đó kéo xuống bên dưới và tích vào ô System.Configuration để thêm thư viện này vào project.

bai2 09 png

Sau khi thực hiện các bước trên, bây giờ chỉ cần viết code để gọi chuỗi kết nối từ file App.config và kết nối tới SQL Server.

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            //gọi hàm CreateTable để tạo mới Table
            new Program().CreateTable();
            Console.ReadKey();
        }
        public void CreateTable()
        {
            //sử dụng lớp SqlConnection để tạo chuỗi kết nối
            SqlConnection con = new SqlConnection();
            //gọi chuỗi kết nối ở file App.config bằng thuộc tính ConfigurationManager trong lớp System.Configuration
            con.ConnectionString = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
            try
            {
                // viết câu lệnh query để thêm mới bảng với các thuộc tính name, email, join_date
                SqlCommand cm = new SqlCommand("create table student(id int not null, name varchar(100), email varchar(50), join_date date)", con);
                // mở chuỗi kết nối
                con.Open();
                // sử dụng phương thức ExecuteNonQuery() để thực thi câu lệnh
                cm.ExecuteNonQuery();
                // thông báo ra màn hình khi tạo thành công
                Console.WriteLine("Đã tạo mới bảng thành công");
            }
            catch (Exception e)
            {
                Console.WriteLine("Có lỗi xảy ra !!!" + e);
            }
            // dóng chuỗi kết nối
            finally
            {
                con.Close();
            }
        }
    }
}

Kết quả:

bai2 10 png

Lúc này tại SSMS thì bảng student cũng được tạo trong database Students.

bai2 11 PNG

4. Thêm dữ liệu vào SQL Server bằng ADO.NET

Tương tư, ta cũng có thể thêm dữ liệu vào trong bảng vừa được tạo ở trên, bằng cách thêm đoạn code dưới đây:

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            //gọi hàm Insert để thêm mới dữ liệu vào Table
            new Program().Insert();
            Console.ReadKey();
        }
        public void Insert()
        {
            //sử dụng lớp SqlConnection để tạo chuỗi kết nối
            SqlConnection con = new SqlConnection();
            //gọi chuỗi kết nối ở file App.config bằng thuộc tính ConnectionString
            con.ConnectionString = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
            try
            {
                // viết câu lệnh query để thêm dữ liệu vào bảng với các trường tương ứng
                SqlCommand cm = new SqlCommand("insert into student (id, name, email, join_date) values ('101', 'Kiso.vn', 'Kiso@gmail.com', '7/27/2021')", con);
                // mở chuỗi kết nối
                con.Open();
                // sử dụng phương thức ExecuteNonQuery() để thực thi câu lệnh
                cm.ExecuteNonQuery();
                // thông báo ra màn hình khi thêm dữ liệu thành công
                Console.WriteLine("Them moi du lieu thanh cong !!!");
            }
            catch (Exception e)
            {
                Console.WriteLine("Co loi xay ra !!!" + e);
            }
            // dóng chuỗi kết nối
            finally
            {
                con.Close();
            }
        }
    }
}

Kết quả:

bai2 12 PNG

5. Truy xuất dữ liệu từ SQL Server bằng ADO.NET

Dưới đây là đoạn code mình đã viết dùng để truy xuất dữ liệu từ SQL Server bằng ADO.NET, các bạn có thể tham khảo nhé.

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            //gọi hàm Retrieve để truy xuất dữ liệu
            new Program().Retrieve();
            Console.ReadKey();
        }
        public void Retrieve()
        {
            //sử dụng lớp SqlConnection để tạo chuỗi kết nối
            SqlConnection con = new SqlConnection();
            //gọi chuỗi kết nối ở file App.config bằng thuộc tính ConnectionString
            con.ConnectionString = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
            try
            {
                // viết câu lệnh query truy xuất dữ liệu
                SqlCommand cm = new SqlCommand("Select * from student", con);
                // mở chuỗi kết nối
                con.Open();
                // sử dụng phương thức ExecuteReader() để thực thi câu lệnh
                SqlDataReader sdr = cm.ExecuteReader();
                // sử dụng vòng lặp while để lấy hết dữ liệu có trong bảng
                while (sdr.Read())
                {
                    // hiển thị dữ liệu ra màn hình
                    Console.WriteLine(sdr["id"] + " " + sdr["name"] + " " + sdr["email"]);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Co loi xay ra !!!" + e);
            }
            // dóng chuỗi kết nối
            finally
            {
                con.Close();
            }
        }
    }
}

Kết quả:

bai2 13 png

6. Xóa dữ liệu khỏi SQL Server bằng ADO.NET

Tương tự như các thao tác khác, sau khi kết nối tới SQL Server. Các bạn chỉ cần viết câu lệnh Query để thêm vào SQL Server và thực hiện nó mà thôi.

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            //gọi hàm Delete để truy xuất dữ liệu
            new Program().Delete();
            Console.ReadKey();
        }
        public void Delete()
        {
            //sử dụng lớp SqlConnection để tạo chuỗi kết nối
            SqlConnection con = new SqlConnection();
            //gọi chuỗi kết nối ở file App.config bằng thuộc tính ConnectionString
            con.ConnectionString = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
            try
            {
                // viết câu lệnh query để xóa dữ liệu
                SqlCommand cm = new SqlCommand("delete from student where id = '101'", con);
                // mở chuỗi kết nối
                con.Open();
                // sử dụng phương thức ExecuteNonQuery() để thực thi câu lệnh
                cm.ExecuteNonQuery();
                // hiển thị ra màn hỉnh thông báo
                Console.WriteLine("Xoa thanh cong du lieu !!!");
            }
            catch (Exception e)
            {
                Console.WriteLine("Co loi xay ra !!!" + e);
            }
            // dóng chuỗi kết nối
            finally
            {
                con.Close();
            }
        }
    }
}

Kết quả:

bai2 14 png

Như vậy là chúng ta đã tìm hiểu sơ lược về ADO.NET sử dụng cơ sở dữ liệu SQL Server. Đây là những kiến thức cơ bản vì vậy các bạn cần nắm rõ nó trước khi đi vào các bài sau nhé. Ở bài tiếp theo chúng ta sẽ tìm hiểu về SqlConnection trong ADO.NET, cũng như các thuộc tính và chức năng của nó.

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 *