Thêm, cập nhật, xóa: Kết nối cơ sở dữ liệu ASP.NET

⚡ Tóm tắt thông minh

ASP.NET kết nối với các cơ sở dữ liệu như SQL Server và Oracle Thông qua ADO.NET, sử dụng các lớp SqlConnection, SqlCommand, SqlDataReader và SqlDataAdapter để mở kết nối và thực hiện các thao tác chọn, chèn, cập nhật và xóa đối với các bản ghi đã lưu trữ.

  • 🔌 Kết nối: SqlConnection mở một liên kết đến cơ sở dữ liệu bằng cách sử dụng chuỗi kết nối bao gồm nguồn dữ liệu, danh mục và thông tin đăng nhập.
  • ???? Đọc hồ sơ: SqlCommand với ExecuteReader và SqlDataReader sẽ lặp qua các hàng được trả về bởi câu lệnh SELECT.
  • Thêm và cập nhật: SqlDataAdapter với ExecuteNonQuery thực thi các câu lệnh INSERT và UPDATE để thay đổi dữ liệu đã lưu trữ.
  • 🗑️ Xóa bỏ: Lệnh DELETE được thực thi thông qua ExecuteNonQuery sẽ xóa một hàng cụ thể khỏi bảng.
  • 🔗 Liên kết các điều khiển: Nguồn dữ liệu liên kết với Danh sáchBoxThêm các điều khiển như DropDownList và các điều khiển tương tự trực tiếp vào các trường của bảng.
  • 🔐 Giữ an toàn: Việc sử dụng truy vấn tham số và đóng mọi kết nối giúp mã cơ sở dữ liệu luôn an toàn và đáng tin cậy.

Chèn, cập nhật, xóa cơ sở dữ liệu ASP.NET Operations

Truy cập dữ liệu từ cơ sở dữ liệu là một khía cạnh quan trọng của bất kỳ ngôn ngữ lập trình nào. Khả năng làm việc với cơ sở dữ liệu là điều cần thiết đối với bất kỳ ngôn ngữ lập trình nào.

ASP.NET có khả năng làm việc với nhiều loại cơ sở dữ liệu khác nhau. Nó có thể hoạt động với các cơ sở dữ liệu phổ biến nhất như... Oracle và Microsoft SQL Server.

Nó cũng có khả năng làm việc với các dạng cơ sở dữ liệu mới như MongoDB và MySQL.

Các nguyên tắc cơ bản về kết nối cơ sở dữ liệu

ASP.NET có khả năng làm việc với hầu hết các loại cơ sở dữ liệu, phổ biến nhất là... Oracle và Microsoft SQL Server. Nhưng với mọi cơ sở dữ liệu, logic đằng sau việc làm việc với tất cả chúng hầu như giống nhau.

Trong các ví dụ của chúng tôi, chúng tôi sẽ xem xét làm việc với Microsoft SQL Server như cơ sở dữ liệu của chúng tôi. Với mục đích học tập, người ta có thể tải xuống và sử dụng Microsoft SQL Server Phiên bản Express. Đây là phần mềm cơ sở dữ liệu miễn phí được cung cấp bởi Microsoft.

Khi làm việc với cơ sở dữ liệu, các khái niệm sau đây là phổ biến ở tất cả các loại cơ sở dữ liệu:

  1. Kết nối – Để làm việc với dữ liệu trong cơ sở dữ liệu, bước rõ ràng đầu tiên là kết nối. Kết nối tới cơ sở dữ liệu thường bao gồm các tham số được đề cập dưới đây.
    1. Tên cơ sở dữ liệu hoặc Nguồn dữ liệu – Tham số quan trọng đầu tiên là tên cơ sở dữ liệu. Mỗi kết nối chỉ có thể hoạt động với một cơ sở dữ liệu tại một thời điểm.
    2. Credentials – Khía cạnh quan trọng tiếp theo là tên người dùng và mật khẩu. Chúng được sử dụng để thiết lập kết nối với cơ sở dữ liệu.
    3. Các thông số tùy chọn – Bạn có thể chỉ định các tham số tùy chọn về cách .NET xử lý kết nối với cơ sở dữ liệu. Ví dụ, bạn có thể chỉ định tham số cho thời gian kết nối nên duy trì hoạt động.
  2. Lựa chọn dữ liệu từ cơ sở dữ liệu – Sau khi kết nối được thiết lập, dữ liệu sẽ được truy xuất từ ​​cơ sở dữ liệu. ASP.NET có khả năng thực thi lệnh SQL SELECT đối với cơ sở dữ liệu. Câu lệnh SQL có thể được sử dụng để truy xuất dữ liệu từ một bảng cụ thể trong cơ sở dữ liệu.
  3. Chèn dữ liệu vào cơ sở dữ liệu – ASP.NET được sử dụng để chèn các bản ghi vào cơ sở dữ liệu. Các giá trị cho mỗi hàng cần được chèn vào cơ sở dữ liệu được chỉ định trong ASP.NET.
  4. Cập nhật dữ liệu vào cơ sở dữ liệu – ASP.NET cũng có thể được sử dụng để cập nhật các bản ghi hiện có trong cơ sở dữ liệu. Có thể chỉ định các giá trị mới trong ASP.NET cho mỗi hàng cần được cập nhật vào cơ sở dữ liệu.
  5. Xóa dữ liệu khỏi cơ sở dữ liệu – ASP.NET cũng có thể được sử dụng để xóa các bản ghi khỏi cơ sở dữ liệu. Đoạn mã được viết để xóa một hàng cụ thể khỏi cơ sở dữ liệu.

Bây giờ chúng ta đã tìm hiểu phần lý thuyết của từng thao tác, hãy cùng xem cách thực hiện các thao tác cơ sở dữ liệu trong ASP.NET.

Kết nối cơ sở dữ liệu ASP.NET

Bây giờ chúng ta hãy xem đoạn mã cần thiết để tạo kết nối đến cơ sở dữ liệu. Trong ví dụ này, chúng ta sẽ kết nối đến cơ sở dữ liệu có tên là Demodb. Thông tin đăng nhập được sử dụng để kết nối đến cơ sở dữ liệu được cung cấp bên dưới:

  • Tên người dùng – sa
  • Mật khẩu – demo123

Chúng ta hãy tiếp tục làm việc với ứng dụng web hiện tại mà chúng ta đã tạo ra trong các phần trước.

  • Bắt đầu thêm các hoạt động cơ sở dữ liệu vào nó.
  • Ví dụ của chúng ta sẽ xem xét việc thiết lập một kết nối đơn giản. Kết nối này được thực hiện với cơ sở dữ liệu Demodb. Việc này được thực hiện khi trang web được khởi chạy lần đầu tiên.
  • Khi kết nối được thiết lập, một tin nhắn sẽ được gửi tới người dùng. Thông báo sẽ cho biết kết nối đã được thiết lập.

Chúng ta hãy làm theo các bước dưới đây để đạt được điều này.

Bước 1) Trước tiên, hãy đảm bảo rằng bạn đã mở ứng dụng web của mình (DemoApplication) trong Visual Studio. Double- Nhấp chuột vào tệp demo.aspx.cs để nhập mã kết nối cơ sở dữ liệu.

Kết nối cơ sở dữ liệu ASP.NET

Bước 2) Thêm mã bên dưới sẽ được sử dụng để thiết lập kết nối với cơ sở dữ liệu.

Kết nối cơ sở dữ liệu ASP.NET

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string connectionString;
            SqlConnection cnn;

            connectionString = @"Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demo123";

            cnn = new SqlConnection(connectionString);

            cnn.Open();

            Response.Write("Connection Made");
            cnn.Close();
        }
    }
}

Code Giải trình:-

  1. Bước đầu tiên là tạo các biến. Chúng sẽ được sử dụng để tạo chuỗi kết nối và kết nối đến cơ sở dữ liệu SQL Server.
  2. Bước tiếp theo là tạo chuỗi kết nối. Chuỗi kết nối bao gồm các phần sau:
    • Nguồn dữ liệu – Đây là tên của máy chủ nơi cơ sở dữ liệu được lưu trữ. Trong trường hợp của chúng tôi, nó nằm trên máy có tên WIN-50GP30FGO75.
    • Mục lục ban đầu được sử dụng để chỉ định tên của cơ sở dữ liệu.
    • Tên người dùng và mật khẩu là thông tin đăng nhập cần thiết để kết nối với cơ sở dữ liệu.
  3. Tiếp theo, chúng ta gán chuỗi kết nối cho biến cnn.
    • Biến cnn có kiểu SqlConnection. Điều này được sử dụng để thiết lập kết nối tới cơ sở dữ liệu.
    • SqlConnection là một lớp trong ASP.NET được sử dụng để tạo kết nối đến cơ sở dữ liệu.
    • Để sử dụng lớp này, trước tiên bạn phải tạo một đối tượng của lớp đó. Do đó, ở đây chúng ta tạo một biến có tên là cnn, thuộc kiểu SqlConnection.
  4. Tiếp theo, chúng ta sử dụng phương thức Open của biến cnn để mở kết nối đến cơ sở dữ liệu. Chúng ta hiển thị thông báo cho người dùng rằng kết nối đã được thiết lập. Điều này được thực hiện thông qua phương thức Response.Write. Sau đó, chúng ta đóng kết nối đến cơ sở dữ liệu.

Khi đoạn mã trên được thiết lập và dự án được thực thi bằng cách sử dụng Visual Studio, bạn sẽ nhận được kết quả đầu ra dưới đây. Khi biểu mẫu được hiển thị, hãy nhấp vào nút Kết nối.

Đầu ra: -

Kết nối cơ sở dữ liệu ASP.NET

Thông báo đầu ra hiển thị trong trình duyệt sẽ cho thấy kết nối tới cơ sở dữ liệu đã được thực hiện.

Cơ sở dữ liệu đọc ASP.NET bằng SqlDataReader

Để minh họa dữ liệu được truy cập bằng ASP.NET, giả sử chúng ta có các thành phần sau trong cơ sở dữ liệu.

  1. Một bảng có tên là demotb. Bảng này sẽ được sử dụng để lưu trữ ID và tên của các bài hướng dẫn khác nhau.
  2. Bảng sẽ có hai cột, một cột có tên là TutorialID và cột còn lại có tên là TutorialName.
  3. Hiện tại, bảng sẽ có hai hàng như hình bên dưới.
ID hướng dẫn Tên hướng dẫn
1 C#
2 ASP.Net

Chúng ta hãy thay đổi mã để có thể truy vấn dữ liệu này và hiển thị thông tin trên chính trang web. Lưu ý rằng đoạn mã được nhập vào là phần tiếp theo của đoạn mã đã viết cho mô-đun kết nối dữ liệu.

Bước 1) Chúng ta hãy chia đoạn mã thành hai phần:

  • Bước đầu tiên là xây dựng câu lệnh SELECT. Câu lệnh này sẽ được sử dụng để đọc dữ liệu từ cơ sở dữ liệu.
  • Tiếp theo, chúng ta sẽ thực thi câu lệnh SELECT đối với cơ sở dữ liệu. Thao tác này sẽ truy xuất tất cả các hàng trong bảng tương ứng.

Cơ sở dữ liệu đọc ASP.NET bằng SqlDataReader

Code Giải trình:-

  1. Bước đầu tiên là tạo ra các biến sau:
    • SqlCommand – SqlCommand là một lớp được định nghĩa trong C#. Lớp này được sử dụng để thực hiện các thao tác đọc và ghi vào cơ sở dữ liệu.
    • Đối tượng DataReader được sử dụng để lấy tất cả dữ liệu được chỉ định bởi truy vấn SQL. Sau đó, chúng ta có thể đọc từng hàng của bảng bằng trình đọc dữ liệu.
    • Tiếp theo, chúng ta định nghĩa hai biến chuỗi. Một biến là `sql` để lưu trữ chuỗi lệnh SQL của chúng ta. Biến còn lại là `Output` sẽ chứa tất cả các giá trị trong bảng.
  2. Bước tiếp theo là định nghĩa câu lệnh SQL. Trong trường hợp này, đó là “Select TutorialID, TutorialName from demotb”. Câu lệnh này sẽ truy xuất tất cả các hàng từ bảng demotb.
  3. Tiếp theo, chúng ta tạo đối tượng lệnh được sử dụng để thực thi câu lệnh SQL đối với cơ sở dữ liệu. Trong lệnh SQL, bạn phải truyền đối tượng kết nối và chuỗi SQL.
  4. Tiếp theo, chúng ta thực thi lệnh đọc dữ liệu, lệnh này sẽ lấy tất cả các hàng từ bảng demotb.
  5. Giờ chúng ta đã có tất cả các hàng của bảng, chúng ta cần một cơ chế để truy cập từng hàng một.
    • Để làm điều này, chúng ta sử dụng câu lệnh while để truy cập từng hàng một từ trình đọc dữ liệu.
    • Sau đó, chúng ta sử dụng phương thức GetValue để lấy giá trị của TutorialID và TutorialName.

Bước 2) Ở bước cuối cùng, chúng ta hiển thị kết quả cho người dùng. Sau đó, chúng ta đóng tất cả các đối tượng liên quan đến thao tác cơ sở dữ liệu.

Cơ sở dữ liệu đọc ASP.NET bằng SqlDataReader

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Code Giải trình:-

  1. Chúng ta tiếp tục đoạn mã bằng cách hiển thị giá trị của biến Output. Điều này được thực hiện bằng cách sử dụng phương thức Response.Write.
  2. Cuối cùng, chúng ta đóng tất cả các đối tượng liên quan đến thao tác cơ sở dữ liệu. Hãy nhớ rằng, đây luôn là một thói quen tốt.

Khi thiết lập đoạn mã trên và chạy dự án bằng Visual Studio, bạn sẽ nhận được kết quả như bên dưới.

Đầu ra: -

Cơ sở dữ liệu đọc ASP.NET bằng SqlDataReader

Từ kết quả đầu ra, bạn có thể thấy rõ rằng chương trình có thể lấy các giá trị từ cơ sở dữ liệu. Dữ liệu sau đó được hiển thị trong trình duyệt cho người dùng.

Chèn bản ghi cơ sở dữ liệu bằng InsertCommand

Giống như việc truy cập dữ liệu, ASP.NET cũng có khả năng chèn bản ghi vào cơ sở dữ liệu. Chúng ta hãy xem xét cấu trúc bảng tương tự được sử dụng để chèn bản ghi.

ID hướng dẫn Tên hướng dẫn
1 C#
2 ASP.Net

Chúng ta hãy thay đổi mã trong biểu mẫu để có thể chèn thêm hàng sau vào bảng:

ID hướng dẫn Tên hướng dẫn
3 VB.Net

Bước 1) Bước đầu tiên, chúng ta hãy thêm đoạn mã sau vào chương trình của mình. Đoạn mã bên dưới sẽ được sử dụng để chèn một bản ghi vào cơ sở dữ liệu.

Chèn bản ghi cơ sở dữ liệu bằng InsertCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataAdapter adapter = new SqlDataAdapter();
            String sql = "";

            sql = "Insert into demotb(TutorialID,TutorialName) values(3,'VB.Net')";

            command = new SqlCommand(sql, cnn);
            adapter.InsertCommand = new SqlCommand(sql, cnn);
            adapter.InsertCommand.ExecuteNonQuery();

            command.Dispose();
            cnn.Close();
        }
    }
}

Code Giải trình:-

  1. Bước đầu tiên là tạo ra các biến sau:
    • SqlCommand – Kiểu dữ liệu này được sử dụng để định nghĩa các đối tượng thực hiện các thao tác SQL trên cơ sở dữ liệu. Đối tượng này sẽ chứa lệnh SQL sẽ được chạy trên cơ sở dữ liệu SQL Server của chúng ta.
    • Đối tượng DataAdapter được sử dụng để thực hiện các lệnh SQL chèn, xóa và cập nhật.
    • Tiếp theo, chúng ta định nghĩa một biến chuỗi, có tên là sql, để lưu trữ chuỗi lệnh SQL của mình.
  2. Bước tiếp theo là định nghĩa câu lệnh SQL. Trong trường hợp này, chúng ta đang thực hiện câu lệnh INSERT. Câu lệnh này sẽ chèn bản ghi có TutorialID=3 và TutorialName=VB.Net.
  3. Tiếp theo, chúng ta tạo đối tượng lệnh được sử dụng để thực thi câu lệnh SQL đối với cơ sở dữ liệu. Trong lệnh SQL, bạn phải truyền đối tượng kết nối và chuỗi SQL.
  4. Trong lệnh bộ điều hợp dữ liệu của chúng tôi:
    • Liên kết lệnh chèn SQL với bộ điều hợp.
    • Tiếp theo, hãy gọi phương thức ExecuteNonQuery. Phương thức này được sử dụng để thực thi câu lệnh INSERT vào cơ sở dữ liệu của chúng ta.
    • Phương thức ExecuteNonQuery được sử dụng trong C# để đưa ra bất kỳ câu lệnh DML nào (thao tác chèn, xóa và cập nhật) đối với cơ sở dữ liệu.
  5. Cuối cùng, chúng ta đóng tất cả các đối tượng liên quan đến thao tác cơ sở dữ liệu. Hãy nhớ rằng, đây luôn là một thói quen tốt.

Bước 2) Bước thứ hai, chúng ta hãy thêm đoạn mã tương tự như trong phần truy cập dữ liệu. Điều này nhằm hiển thị dữ liệu bảng gần đây trong trình duyệt. Để làm điều đó, chúng ta sẽ thêm đoạn mã sau vào tệp demo.aspx.cs.

Chèn bản ghi cơ sở dữ liệu bằng InsertCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Khi đoạn mã trên được thiết lập và dự án được thực thi trong Visual Studio, bạn sẽ nhận được kết quả như bên dưới.

Đầu ra: -

Chèn bản ghi cơ sở dữ liệu bằng InsertCommand

Trong cửa sổ trình duyệt, bạn sẽ thấy rằng hàng đã được chèn thành công vào cơ sở dữ liệu.

Cập nhật bản ghi cơ sở dữ liệu bằng UpdateCommand

ASP.NET có khả năng cập nhật các bản ghi hiện có trong cơ sở dữ liệu. Chúng ta hãy sử dụng cấu trúc bảng tương tự như ví dụ ở trên để chèn thêm bản ghi.

ID hướng dẫn Tên hướng dẫn
1 C#
2 ASP.Net
3 VB.Net

Chúng ta hãy thay đổi mã trong biểu mẫu để cập nhật hàng sau. Giá trị cũ của hàng này là TutorialID = 3 và TutorialName = VB.Net, chúng ta sẽ cập nhật thành “VB.Net Complete”, trong khi giá trị của TutorialID vẫn giữ nguyên.

Hàng cũ

ID hướng dẫn Tên hướng dẫn
3 VB.Net

Hàng mới

ID hướng dẫn Tên hướng dẫn
3 VB.Net Hoàn chỉnh

Bước 1) Bước đầu tiên, chúng ta hãy thêm đoạn mã sau vào chương trình của mình. Đoạn mã bên dưới sẽ được sử dụng để cập nhật một bản ghi hiện có trong cơ sở dữ liệu.

Cập nhật bản ghi cơ sở dữ liệu bằng UpdateCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataAdapter adapter = new SqlDataAdapter();
            String sql = "";

            sql = "Update demotb set TutorialName='VB.Net Complete' where TutorialID=3";

            command = new SqlCommand(sql, cnn);
            adapter.InsertCommand = new SqlCommand(sql, cnn);
            adapter.InsertCommand.ExecuteNonQuery();

            command.Dispose();
            cnn.Close();
        }
    }
}

Code Giải trình:-

  1. Bước đầu tiên là tạo ra các biến sau:
    • SqlCommand – Kiểu dữ liệu này được sử dụng để định nghĩa các đối tượng thực hiện các thao tác SQL trên cơ sở dữ liệu. Đối tượng này sẽ chứa lệnh SQL sẽ được chạy trên cơ sở dữ liệu SQL Server của chúng ta.
    • Đối tượng DataAdapter được sử dụng để thực hiện các lệnh SQL chèn, xóa và cập nhật.
    • Tiếp theo, chúng ta định nghĩa một biến chuỗi, có tên là sql, để lưu trữ chuỗi lệnh SQL của mình.
  2. Bước tiếp theo là định nghĩa câu lệnh SQL. Trong trường hợp này, chúng ta đang thực hiện một câu lệnh cập nhật. Câu lệnh này sẽ cập nhật TutorialName thành “VB.Net Complete”. TutorialID sẽ không thay đổi và giá trị sẽ là 3.
  3. Tiếp theo, chúng ta tạo đối tượng lệnh. Đối tượng này được sử dụng để thực thi câu lệnh SQL trên cơ sở dữ liệu. Trong lệnh SQL, bạn truyền đối tượng kết nối và chuỗi SQL.
  4. Trong lệnh bộ chuyển đổi dữ liệu của chúng ta, chúng ta liên kết lệnh SQL với bộ chuyển đổi. Sau đó, chúng ta phát hành phương thức ExecuteNonQuery. Phương thức này được sử dụng để thực thi câu lệnh cập nhật đối với cơ sở dữ liệu của chúng ta.
  5. Cuối cùng, chúng ta đóng tất cả các đối tượng liên quan đến thao tác cơ sở dữ liệu. Hãy nhớ rằng, đây luôn là một thói quen tốt.

Bước 2) Bước thứ hai, chúng ta hãy thêm đoạn mã tương tự như trong phần truy cập dữ liệu. Mục đích là để hiển thị dữ liệu bảng gần đây trong trình duyệt. Để làm điều đó, chúng ta sẽ thêm đoạn mã bên dưới.

Cập nhật bản ghi cơ sở dữ liệu bằng UpdateCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Khi thiết lập đoạn mã trên và chạy dự án bằng Visual Studio, bạn sẽ nhận được kết quả như bên dưới.

Đầu ra: -

Cập nhật bản ghi cơ sở dữ liệu bằng UpdateCommand

Trong cửa sổ trình duyệt, bạn sẽ thấy rằng hàng đó đã được cập nhật thành công trong cơ sở dữ liệu.

Xóa bản ghi cơ sở dữ liệu bằng cách sử dụng DeleteCommand

ASP.NET có thể xóa các bản ghi hiện có khỏi cơ sở dữ liệu. Chúng ta hãy sử dụng cấu trúc bảng tương tự như ví dụ ở trên để xóa các bản ghi.

ID hướng dẫn Tên hướng dẫn
1 C#
2 ASP.Net
3 VB.Net Hoàn chỉnh

Chúng ta hãy thay đổi mã trong biểu mẫu để có thể xóa hàng sau:

ID hướng dẫn Tên hướng dẫn
3 VB.Net Hoàn chỉnh

Bước 1) Bước đầu tiên, chúng ta hãy thêm đoạn mã sau vào chương trình của mình. Đoạn mã dưới đây sẽ được sử dụng để xóa một bản ghi hiện có trong cơ sở dữ liệu.

Xóa bản ghi cơ sở dữ liệu bằng cách sử dụng DeleteCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataAdapter adapter = new SqlDataAdapter();
            String sql = "";

            sql = "Delete demotb where TutorialID=3";

            command = new SqlCommand(sql, cnn);
            adapter.DeleteCommand = new SqlCommand(sql, cnn);
            adapter.DeleteCommand.ExecuteNonQuery();

            command.Dispose();
            cnn.Close();
        }
    }
}

Code Giải trình:-

  1. Điểm khác biệt chính trong đoạn mã này là chúng ta đang thực thi câu lệnh SQL DELETE. Câu lệnh DELETE được sử dụng để xóa hàng trong bảng demotb có trường TutorialID giá trị là 3.
  2. Trong lệnh bộ điều hợp dữ liệu của chúng tôi, chúng tôi liên kết lệnh SQL xóa với bộ điều hợp. Chúng tôi cũng phát hành phương thức ExecuteNonQuery, được sử dụng để thực thi câu lệnh xóa đối với cơ sở dữ liệu của chúng tôi.

Bước 2) Bước thứ hai, chúng ta hãy thêm đoạn mã tương tự như trong phần truy cập dữ liệu. Mục đích là để hiển thị dữ liệu bảng gần đây trong trình duyệt. Để làm điều đó, chúng ta sẽ thêm đoạn mã bên dưới.

Xóa bản ghi cơ sở dữ liệu bằng cách sử dụng DeleteCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Khi thiết lập đoạn mã trên và chạy dự án bằng Visual Studio, bạn sẽ nhận được kết quả như bên dưới.

Đầu ra: -

Xóa bản ghi cơ sở dữ liệu bằng cách sử dụng DeleteCommand

Kết nối các điều khiển ASP.NET với dữ liệu

Chúng ta đã thấy cách sử dụng các lệnh ASP.NET như SqlCommand và SqlDataReader để truy xuất dữ liệu từ cơ sở dữ liệu. Chúng ta cũng đã thấy cách đọc từng hàng của bảng và hiển thị chúng trên trang web.

Có các phương pháp cho phép liên kết trực tiếp các điều khiển với các trường khác nhau trong bảng. Hiện tại, chỉ có các điều khiển sau đây mới có thể được liên kết với ứng dụng ASP.NET:

  1. kiểm traBoxDanh sách
  2. Danh Sách Nút Radio
  3. Danh sách thả xuống
  4. Danh sáchBox

Hãy cùng xem một ví dụ về cách chúng ta có thể sử dụng liên kết điều khiển trong ASP.NET. Ở đây, chúng ta sẽ sử dụng một List.Box Ví dụ. Giả sử chúng ta có dữ liệu sau trong cơ sở dữ liệu.

ID hướng dẫn Tên hướng dẫn
1 C#
2 ASP.Net
3 VB.Net Hoàn chỉnh

Chúng ta hãy sử dụng Danh sáchBox Hãy kiểm soát và xem cách nó có thể tự động lấy dữ liệu từ bảng demotb của chúng ta. Chúng ta hãy làm theo các bước được đề cập bên dưới để thực hiện điều này.

Bước 1) Xây dựng biểu mẫu web cơ bản. Từ hộp công cụ trong Visual Studio, kéo và thả 2 thành phần – nhãn và danh sách.BoxSau đó thực hiện các bước phụ sau:

  1. Đặt giá trị văn bản của nhãn đầu tiên là TutorialID.
  2. Đặt giá trị văn bản của nhãn thứ hai là TutorialName.

Dưới đây là hình ảnh biểu mẫu sau khi thực hiện các bước đã nêu ở trên.

Kết nối các điều khiển ASP.NET với dữ liệu

Bước 2) Bước tiếp theo là bắt đầu kết nối từng Danh sách.Box vào bảng cơ sở dữ liệu.

  1. Đầu tiên click vào Danh sáchBox Đối với TutorialID. Thao tác này sẽ hiển thị một hộp thoại khác bên cạnh điều khiển.
  2. Từ hộp thoại, hãy nhấp vào tùy chọn Chọn nguồn dữ liệu.

Kết nối các điều khiển ASP.NET với dữ liệu

Bước 3) Sau đó, một hộp thoại sẽ hiện ra. Bạn có thể sử dụng hộp thoại này để tạo nguồn dữ liệu mới. Nguồn dữ liệu này sẽ đại diện cho một kết nối đến cơ sở dữ liệu. Chọn tùy chọn "Nguồn dữ liệu mới".

Kết nối các điều khiển ASP.NET với dữ liệu

Bước 4) Màn hình bên dưới sẽ được nhắc sau khi chọn nguồn dữ liệu mới ở bước cuối cùng. Ở đây chúng ta cần đề cập đến loại nguồn dữ liệu mà chúng ta muốn tạo.

  1. Chọn tùy chọn cơ sở dữ liệu để làm việc với cơ sở dữ liệu SQL Server.
  2. Bây giờ chúng ta cần đặt tên cho nguồn dữ liệu của mình. Ở đây chúng tôi đặt tên cho nó là DemoDataSource.
  3. Cuối cùng, chúng ta nhấn nút OK để chuyển sang màn hình tiếp theo.

Kết nối các điều khiển ASP.NET với dữ liệu

Bước 5) Bây giờ chúng ta cần tạo kết nối đến cơ sở dữ liệu. Ở màn hình tiếp theo, hãy nhấp vào nút "Kết nối mới".

Kết nối các điều khiển ASP.NET với dữ liệu

Bước 6) Tiếp theo bạn cần thêm thông tin đăng nhập để kết nối với cơ sở dữ liệu.

  1. Chọn tên máy chủ nơi SQL Server được cài đặt.
  2. Nhập tên người dùng và mật khẩu để kết nối với cơ sở dữ liệu.
  3. Chọn cơ sở dữ liệu là demotb.
  4. Nhấp vào nút OK.

Kết nối các điều khiển ASP.NET với dữ liệu

Bước 7) Trên màn hình tiếp theo, bạn sẽ thấy bảng demotb. Chỉ cần nhấp vào nút Tiếp theo để chấp nhận cài đặt mặc định.

Kết nối các điều khiển ASP.NET với dữ liệu

Bước 8) Bây giờ bạn sẽ có thể kiểm tra kết nối trên màn hình tiếp theo.

  1. Nhấp vào nút "Kiểm tra truy vấn" để xem bạn có thể lấy được các giá trị từ bảng hay không.
  2. Nhấp vào nút Kết thúc để hoàn thành trình hướng dẫn.

Kết nối các điều khiển ASP.NET với dữ liệu

Bước 9) Giờ ở màn hình cuối cùng, bạn có thể nhấp vào nút OK. Thao tác này sẽ liên kết danh sách TutorialID.Box đến tên trường TutorialID trong bảng demotb.

Kết nối các điều khiển ASP.NET với dữ liệu

Bước 10) Bây giờ là lúc liên kết danh sách TutorialName.Box vào trường TutorialName.

  1. Đầu tiên, hãy nhấp vào Danh sách Tên hướng dẫnBox.
  2. Tiếp theo, chọn Nguồn dữ liệu trong hộp thoại xuất hiện bên cạnh Danh sách.Box.

Kết nối các điều khiển ASP.NET với dữ liệu

Bước 11) Bạn sẽ thấy DemoDataSource khi chọn Nguồn dữ liệu ở màn hình tiếp theo.

  1. Chọn DemoDataSource.
  2. Bấm vào nút OK.

Kết nối các điều khiển ASP.NET với dữ liệu

Nếu tất cả các bước trên được thực hiện như được hiển thị, bạn sẽ nhận được kết quả được đề cập bên dưới.

Đầu ra: -

Kết nối các điều khiển ASP.NET với dữ liệu

Từ kết quả đầu ra, bạn có thể thấy rằng Danh sáchBoxes hiển thị TutorialID và TutorialName tương ứng.

Câu Hỏi Thường Gặp

Đúng vậy. Các trợ lý AI như GitHub Copilot có thể tạo cấu trúc cho các phương thức chèn, cập nhật và xóa trong ADO.NET và giải thích từng dòng. Luôn luôn xem lại mã SQL được tạo ra và kiểm tra nó, vì AI có thể bỏ sót các chi tiết về tham số hóa hoặc xử lý kết nối.

Đúng vậy. Bạn có thể dán ngoại lệ ADO.NET hoặc lỗi SQL vào công cụ AI để nhận được nguyên nhân bằng ngôn ngữ dễ hiểu và giải pháp khả thi. Hãy xác nhận đề xuất so với lược đồ của bạn trước khi áp dụng vào mã sản xuất.

Hãy sử dụng các truy vấn tham số hóa. Thêm các giá trị bằng đối tượng SqlParameter thay vì nối chuỗi đầu vào vào chuỗi SQL. Điều này giúp tách biệt dữ liệu khỏi các lệnh và ngăn chặn tấn công chèn mã độc, đồng thời cải thiện khả năng tái sử dụng kế hoạch truy vấn.

ExecuteNonQuery thực thi các lệnh INSERT, UPDATE và DELETE và trả về các hàng bị ảnh hưởng. ExecuteReader trả về một SqlDataReader chỉ đọc dữ liệu tiến về phía trước cho kết quả SELECT. ExecuteScalar trả về một giá trị duy nhất, chẳng hạn như số lượng, từ hàng và cột đầu tiên.

SqlDataReader đọc từng hàng một và cần có kết nối mở, vì vậy tốc độ đọc rất nhanh. SqlDataAdapter điền dữ liệu vào DataSet hoặc DataTable trong bộ nhớ và cũng thực hiện các lệnh chèn, cập nhật và xóa.

Hãy lưu trữ chúng trong phần connectionStrings của tệp web.config thay vì mã hóa cứng chúng trong một trang. Điều này giúp tập trung hóa các cài đặt, giữ cho thông tin đăng nhập không nằm trong mã nguồn và cho phép bạn thay đổi chúng mà không cần biên dịch lại ứng dụng.

ADO.NET với SqlCommand cung cấp khả năng kiểm soát chi tiết và tốc độ cao cho các trang đơn giản. Entity Framework ánh xạ các bảng thành các đối tượng và giảm thiểu mã lặp lại cho các ứng dụng lớn hơn. Nhiều nhóm kết hợp cả hai tùy thuộc vào nhu cầu về hiệu suất và độ phức tạp.

Các kết nối đang mở giữ các tài nguyên được dùng chung trên máy chủ. Việc gọi Close hoặc Dispose, lý tưởng nhất là bên trong khối using, sẽ trả lại kết nối vào nhóm tài nguyên, ngăn ngừa rò rỉ bộ nhớ và giữ cho ứng dụng hoạt động mượt mà ngay cả khi chịu tải.

Tóm tắt bài viết này với: