Truy cập dữ liệu từ cơ sở dữ liệu là một trong những khía cạnh quan trọng của bất kỳ ngôn ngữ lập trình nào. Nó là một điều cần thiết tuyệt đối đối với bất kỳ ngôn ngữ lập trình nào để có khả năng làm việc với cơ sở dữ liệu. C # không có gì khác biệt.
Nó có thể hoạt động 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ó thể hoạt động với các dạng cơ sở dữ liệu mới như MongoDB và MySQL.
Trong hướng dẫn kết nối C # sql này, bạn sẽ học-
- Các nguyên tắc cơ bản về kết nối Cơ sở dữ liệu
- Cách kết nối C # với Cơ sở dữ liệu
- Truy cập dữ liệu bằng SqlDataReader
- C # Chèn vào cơ sở dữ liệu
- Cập nhật hồ sơ
- Xóa hồ sơ
- Kết nối điều khiển với dữ liệu
- C # DataGridView
Các nguyên tắc cơ bản về kết nối Cơ sở dữ liệu
C # và .Net có thể hoạt động với phần lớn 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 làm việc với tất cả chúng hầu hết đều giống nhau.
Trong các ví dụ của chúng tôi, chúng tôi sẽ xem xét cách làm việc của Microsoft SQL Server làm 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 Express Edition , đây là một phần mềm cơ sở dữ liệu miễn phí do Microsoft cung cấp.
Khi làm việc với cơ sở dữ liệu, sau đây là các khái niệm chung cho tất cả các cơ sở dữ liệu.
- Kết nối - Để làm việc với dữ liệu trong cơ sở dữ liệu, bước đầu tiên rõ ràng là kết nối. Kết nối với cơ sở dữ liệu thường bao gồm các tham số được đề cập dưới đây.
- 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à kết nối cần được thiết lập. 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.
- Thông tin đăng nhập - Khía cạnh quan trọng tiếp theo là tên người dùng và mật khẩu cần được sử dụng để thiết lập kết nối với cơ sở dữ liệu. Nó đảm bảo rằng tên người dùng và mật khẩu có các đặc quyền cần thiết để kết nối với cơ sở dữ liệu.
- Tham số tùy chọn - Đối với mỗi loại cơ sở dữ liệu, bạn có thể chỉ định các tham số tùy chọn để cung cấp thêm thông tin về cách .net sẽ xử lý kết nối với cơ sở dữ liệu. Ví dụ, người ta có thể chỉ định một tham số cho thời gian kết nối sẽ duy trì hoạt động. Nếu không có hoạt động nào được thực hiện trong một khoảng thời gian cụ thể, thì tham số sẽ xác định xem có phải đóng kết nối hay không.
- Chọn dữ liệu từ cơ sở dữ liệu - Khi kết nối đã được thiết lập, khía cạnh quan trọng tiếp theo là tìm nạp dữ liệu từ cơ sở dữ liệu. C # có thể thực thi lệnh chọn 'SQL' đối với cơ sở dữ liệu. Câu lệnh 'SQL' có thể được sử dụng để tìm nạp dữ liệu từ một bảng cụ thể trong cơ sở dữ liệu.
- Chèn dữ liệu vào cơ sở dữ liệu - C # cũng có thể được sử dụng để chèn các bản ghi vào cơ sở dữ liệu. Giá trị có thể được chỉ định trong C # cho mỗi hàng cần được chèn vào cơ sở dữ liệu.
- Cập nhật dữ liệu vào cơ sở dữ liệu - C # cũng có thể được sử dụng để cập nhật các bản ghi hiện có vào cơ sở dữ liệu. Các giá trị mới có thể được chỉ định trong C # cho mỗi hàng cần được cập nhật vào cơ sở dữ liệu.
- Xóa dữ liệu khỏi cơ sở dữ liệu - C # cũng có thể được sử dụng để xóa các bản ghi vào cơ sở dữ liệu. Chọn các lệnh để chỉ định các hàng cần xóa có thể được chỉ định trong C #.
Được rồi, bây giờ chúng ta đã thấy lý thuyết của từng hoạt động, hãy chuyển sang các phần tiếp theo để xem chúng ta có thể thực hiện các hoạt động cơ sở dữ liệu trong C # như thế nào.
Lệnh SQL trong c #
SqlCommand trong C # cho phép người dùng truy vấn và gửi các lệnh đến cơ sở dữ liệu. Lệnh SQL được chỉ định bởi đối tượng kết nối SQL. Hai phương thức được sử dụng, phương thức ExecuteReader cho kết quả của truy vấn và ExecuteNonQuery cho các lệnh chèn, Cập nhật và xóa. Đây là phương pháp tốt nhất cho các lệnh khác nhau.
Cách kết nối C # với Cơ sở dữ liệu
Bây giờ chúng ta hãy xem mã, mã này cần được giữ nguyên để tạo kết nối với cơ sở dữ liệu. Trong ví dụ của chúng tôi, chúng tôi sẽ kết nối với một cơ sở dữ liệu có tên là Demodb. Thông tin đăng nhập được sử dụng để kết nối với 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 sẽ thấy một ứng dụng Windows biểu mẫu đơn giản để làm việc với cơ sở dữ liệu. Chúng ta sẽ có một nút đơn giản được gọi là "Kết nối" sẽ được sử dụng để kết nối với cơ sở dữ liệu.
Vì vậy, chúng ta hãy làm theo các bước dưới đây để đạt được điều này
Bước 1) Bước đầu tiên liên quan đến việc tạo một dự án mới trong Visual Studio. Sau khi khởi chạy Visual Studio, bạn cần chọn tùy chọn menu New-> Project.
Bước 2) Bước tiếp theo là chọn loại dự án làm ứng dụng Windows Forms. Ở đây, chúng tôi cũng cần phải đề cập đến tên và vị trí của dự án của chúng tôi.
- Trong hộp thoại dự án, chúng ta có thể thấy các tùy chọn khác nhau để tạo các loại dự án khác nhau trong Visual Studio. Nhấp vào tùy chọn Windows ở phía bên trái.
- Khi chúng ta nhấp vào tùy chọn Windows ở bước trước, chúng ta sẽ có thể thấy một tùy chọn cho Ứng dụng Windows Forms. Nhấp vào tùy chọn này.
- Sau đó, chúng tôi đặt tên cho ứng dụng mà trong trường hợp của chúng tôi là "DemoApplication". Chúng tôi cũng cần cung cấp vị trí để lưu trữ ứng dụng của mình.
- Cuối cùng, chúng tôi nhấp vào nút 'OK' để cho phép Visual Studio tạo dự án của chúng tôi.
Bước 3) Bây giờ thêm một nút từ hộp công cụ vào biểu mẫu Windows. Đặt thuộc tính văn bản của Nút là Kết nối. Đây là cách nó sẽ trông như thế nào
Bước 4) Bây giờ nhấp đúp vào biểu mẫu để một trình xử lý sự kiện được thêm vào mã cho sự kiện nhấp vào nút. Trong trình xử lý sự kiện, hãy thêm mã bên dưới.
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace DemoApplication1{public partial class Form1 : Form{public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){string connetionString;SqlConnection cnn;connetionString = @"Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demol23";cnn = new SqlConnection(connetionString);cnn.Open();MessageBox.Show("Connection Open !");cnn.Close();}}}
Giải thích mã: -
- Bước đầu tiên là tạo các biến, các biến này 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.
- Bước tiếp theo là tạo chuỗi kết nối. Chuỗi kết nối cần được chỉ định chính xác để C # hiểu được 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ủ chứa cơ sở dữ liệu. Trong trường hợp của chúng tôi, nó nằm trên một máy có tên là WIN- 50GP30FGO75.
- Danh mục ban đầu được sử dụng để chỉ định tên của cơ sở dữ liệu
- UserID 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.
- Tiếp theo, chúng ta gán chuỗi kết nối cho biến cnn. Biến cnn, thuộc kiểu SqlConnection được sử dụng để thiết lập kết nối với cơ sở dữ liệu.
- Tiếp theo, chúng ta sử dụng phương thức Open của biến cnn để mở một kết nối đến cơ sở dữ liệu. Sau đó, chúng tôi chỉ hiển thị một thông báo cho người dùng rằng kết nối đã được thiết lập.
- Khi thao tác hoàn tất thành công, chúng tôi đóng kết nối với cơ sở dữ liệu. Luôn luôn là một thực tiễn tốt để đóng kết nối với cơ sở dữ liệu nếu không có yêu cầu nào khác được thực hiện trên cơ sở dữ liệu.
Khi mã trên được đặt và dự án được thực thi bằng Visual Studio, bạn sẽ nhận được kết quả bên dưới. Khi biểu mẫu được hiển thị, hãy nhấp vào nút Kết nối.
Đầu ra: -
Khi bạn nhấp vào nút "kết nối", từ đầu ra, bạn có thể thấy rằng kết nối cơ sở dữ liệu đã được thiết lập. Do đó, hộp thông báo đã được hiển thị.
Truy cập dữ liệu bằng SqlDataReader
Để giới thiệu cách dữ liệu có thể được truy cập bằng C #, chúng ta hãy giả sử rằng chúng ta có các tạo tác sau trong cơ sở dữ liệu của mình.
- Một bảng được gọi là demotb. Bảng này sẽ được sử dụng để lưu trữ ID và tên của các Hướng dẫn khác nhau.
- Bảng sẽ có 2 cột, một cột được gọi là "TutorialID" và cột còn lại được gọi là "TutorialName."
- Hiện tại, bảng sẽ có 2 hàng như hình dưới đây.
TutorialID |
TutorialName |
1 |
C # |
2 |
ASP.Net |
Hãy thay đổi mã trong biểu mẫu của chúng tôi để chúng tôi có thể truy vấn dữ liệu này và hiển thị thông tin qua Hộp thư. Lưu ý rằng tất cả mã được nhập bên dưới là phần tiếp theo của mã được viết cho kết nối dữ liệu trong phần trước.
Bước 1) Hãy chia đoạn mã thành 2 phần để người dùng dễ hiểu.
- Đầu tiên sẽ là xây dựng câu lệnh "select" của chúng tôi, câu lệnh này sẽ được sử dụng để đọc dữ liệu từ cơ sở dữ liệu.
- Sau đó, chúng tôi sẽ thực hiện câu lệnh "select" dựa trên cơ sở dữ liệu và tìm nạp tất cả các hàng của bảng tương ứng.
Giải thích mã: -
- Bước đầu tiên là tạo các biến sau
- SQLCommand - 'SQLCommand' là một lớp được định nghĩa trong C #. Lớp này dùng để thực hiện các thao tác đọc và ghi vào cơ sở dữ liệu. Do đó, bước đầu tiên là đảm bảo rằng chúng ta tạo một kiểu biến của lớp này. Biến này sau đó sẽ được sử dụng trong các bước đọc dữ liệu tiếp theo từ cơ sở dữ liệu của chúng tôi.
- Đố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ất cả các hàng trong bảng lần lượt bằng trình đọc dữ liệu.
- Sau đó, chúng tôi xác định 2 biến chuỗi, một là "SQL" để giữ chuỗi lệnh SQL của chúng tôi. Tiếp theo là "Đầu ra" sẽ chứa tất cả các giá trị của bảng.
- Bước tiếp theo là xác định câu lệnh SQL, câu lệnh này sẽ được sử dụng trong cơ sở dữ liệu của chúng tôi. Trong trường hợp của chúng tôi, đó là "Chọn TutorialID, TutorialName từ demo". Thao tác này sẽ tìm nạp tất cả các hàng từ bảng trình diễn.
- 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 dựa trên cơ sở dữ liệu. Trong lệnh SQL, bạn phải chuyển đối tượng kết nối và chuỗi SQL.
- Tiếp theo, chúng ta sẽ thực hiện lệnh đọc dữ liệu, lệnh này sẽ tìm nạp tất cả các hàng từ bảng demotb.
- Bây 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. Đối với điều này, chúng tôi sẽ sử dụng câu lệnh while. Câu lệnh while sẽ được sử dụng để truy cập từng hàng từ trình đọc dữ liệu tại một thời điểm. Sau đó, chúng tôi sử dụng phương thức GetValue để lấy giá trị của TutorialID và TutorialName.
Bước 2) Trong bước cuối cùng, chúng tôi sẽ chỉ hiển thị kết quả đầu ra cho người dùng và đóng tất cả các đối tượng liên quan đến hoạt động cơ sở dữ liệu.
Giải thích mã: -
- Chúng tôi sẽ tiếp tục mã của mình bằng cách hiển thị giá trị của biến Đầu ra bằng cách sử dụng MessageBox. Biến Output sẽ chứa tất cả các giá trị từ bảng demotb.
- Cuối cùng chúng tôi đóng tất cả các đối tượng liên quan đến hoạt động cơ sở dữ liệu của chúng tôi. Hãy nhớ điều này luôn luôn là một thực hành tốt.
Khi mã trên được đặt và dự án được chạy bằng Visual Studio, bạn sẽ nhận được kết quả bên dưới. Khi biểu mẫu được hiển thị, hãy nhấp vào nút Kết nối.
Đầu ra: -
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 hộp thông báo.
C # Chèn vào cơ sở dữ liệu
Cũng giống như Truy cập dữ liệu, C # cũng có khả năng chèn các bản ghi vào cơ sở dữ liệu. Để giới thiệu cách chèn các bản ghi vào cơ sở dữ liệu của chúng ta, hãy sử dụng cùng một cấu trúc bảng đã được sử dụng ở trên.
TutorialID |
TutorialName |
1 |
C # |
2 |
ASP.Net |
Hãy thay đổi mã trong biểu mẫu của chúng tôi, để chúng tôi có thể chèn hàng sau vào bảng
TutorialID |
TutorialName |
3 |
VB.Net |
Vì vậy, hãy thêm đoạn mã sau vào chương trình của chúng tôi. Đoạn mã dưới đây sẽ được sử dụng để chèn một bản ghi hiện có vào cơ sở dữ liệu của chúng tôi.
Giải thích mã: -
- Bước đầu tiên là tạo các biến sau
- SQLCommand - Kiểu dữ liệu này được sử dụng để xác định các đối tượng được sử dụng để thực hiện các hoạt động SQL đối với cơ sở dữ liệu. Đối tượng này sẽ giữ lệnh SQL sẽ chạy trên cơ sở dữ liệu SQL Server của chúng tôi.
- Đối tượng DataAdapter được sử dụng để thực hiện các hoạt động SQL cụ thể như lệnh chèn, xóa và cập nhật.
- Sau đó, chúng tôi xác định một biến chuỗi, đó là "SQL" để chứa chuỗi lệnh SQL của chúng tôi.
- Bước tiếp theo là thực sự xác định câu lệnh SQL sẽ được sử dụng trong cơ sở dữ liệu của chúng ta. Trong trường hợp của chúng tôi, chúng tôi đang phát hành một câu lệnh chèn, sẽ chèn bản ghi TutorialID = 1 và TutorialName = VB.Net
- 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 dựa trên cơ sở dữ liệu. Trong lệnh SQL, bạn phải chuyển đối tượng kết nối và chuỗi SQL
- Trong lệnh bộ điều hợp dữ liệu của chúng tôi, bây giờ chúng tôi liên kết lệnh chèn SQL với bộ điều hợp của chúng tôi. Sau đó, 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 Chèn đối với cơ sở dữ liệu của chúng tôi. Phương thức 'ExecuteNonQuery' được sử dụng trong C # để đưa ra bất kỳ câu lệnh DML nào đối với cơ sở dữ liệu. Theo các câu lệnh DML, chúng tôi muốn nói đến hoạt động chèn, xóa và cập nhật. Trong C #, nếu bạn muốn đưa ra bất kỳ câu lệnh nào trong số này đối với một bảng, bạn cần sử dụng phương thức ExecuteNonQuery.
- Cuối cùng chúng tôi đóng tất cả các đối tượng liên quan đến hoạt động cơ sở dữ liệu của chúng tôi. Hãy nhớ điều này luôn luôn là một thực hành tốt.
Khi mã trên được đặt và dự án được thực thi bằng Visual Studio, bạn sẽ nhận được kết quả bên dưới. Khi biểu mẫu được hiển thị, hãy nhấp vào nút Kết nối.
Đầu ra: -
Nếu bạn truy cập SQL Server Express và xem các hàng trong bảng demotb, bạn sẽ thấy hàng được chèn như hình dưới đây
Cơ sở dữ liệu cập nhật C #
Cũng giống như Truy cập dữ liệu, C # cũng có khả năng cập nhật các bản ghi hiện có từ cơ sở dữ liệu. Để giới thiệu cách cập nhật các bản ghi vào cơ sở dữ liệu của chúng ta, hãy sử dụng cùng một cấu trúc bảng đã được sử dụng ở trên.
TutorialID |
TutorialName |
1 |
C # |
2 |
ASP.Net |
3 |
VB.Net |
Hãy thay đổi mã trong biểu mẫu của chúng tôi, để chúng tôi có thể cập nhật hàng sau. Giá trị hàng cũ là TutorialID là "3" và Tên hướng dẫn là "VB.Net". Mà chúng tôi sẽ cập nhật nó thành "VB.Net hoàn thành" trong khi giá trị hàng cho ID Hướng dẫn sẽ vẫn giữ nguyên.
Hàng cũ
TutorialID |
TutorialName |
3 |
VB.Net |
Hàng mới
TutorialID |
TutorialName |
3 |
VB.Net hoàn thành |
Vì vậy, hãy thêm đoạn mã sau vào chương trình của chúng tôi. Đoạn mã dưới đây sẽ được sử dụng để cập nhật bản ghi hiện có trong cơ sở dữ liệu của chúng tôi.
Ví dụ về C # SqlCommand với giải thích mã: -
- Bước đầu tiên là tạo các biến sau
- SQLCommand - Kiểu dữ liệu này được sử dụng để xác định các đối tượng được sử dụng để thực hiện các hoạt động SQL đối với cơ sở dữ liệu. Đối tượng này sẽ giữ lệnh SQL sẽ chạy trên cơ sở dữ liệu SQL Server của chúng tôi.
- Đối tượng dataadapter được sử dụng để thực hiện các hoạt động SQL cụ thể như lệnh chèn, xóa và cập nhật.
- Sau đó, chúng tôi xác định một biến chuỗi, đó là SQL để giữ chuỗi lệnh SQL của chúng tôi.
- Bước tiếp theo là xác định câu lệnh SQL sẽ được sử dụng trong cơ sở dữ liệu của chúng tôi. Trong trường hợp của chúng tôi, chúng tôi đang phát hành một tuyên bố cập nhật, điều này sẽ cập nhật tên Hướng dẫn thành "VB.Net Complete" trong khi TutorialID không thay đổi và được giữ như 3.
- Tiếp theo, chúng ta sẽ 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 đã chuyển đối tượng kết nối và chuỗi SQL.
- Trong lệnh bộ điều hợp dữ liệu của chúng tôi, bây giờ chúng tôi liên kết lệnh chèn SQL với bộ điều hợp của chúng tôi. Sau đó, 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 Cập nhật đối với cơ sở dữ liệu của chúng tôi.
- Cuối cùng chúng tôi đóng tất cả các đối tượng liên quan đến hoạt động cơ sở dữ liệu của chúng tôi. Hãy nhớ điều này luôn luôn là một thực hành tốt.
Khi mã trên được đặt và dự án được thực thi bằng Visual Studio, bạn sẽ nhận được kết quả bên dưới. Khi biểu mẫu được hiển thị, hãy nhấp vào nút Kết nối.
Đầu ra: -
Nếu bạn thực sự truy cập SQL Server Express và xem các hàng trong bảng demo, bạn sẽ thấy hàng đã được cập nhật thành công như hình dưới đây.
Xóa hồ sơ
Cũng giống như Truy cập dữ liệu, C # cũng có khả năng xóa các bản ghi hiện có khỏi cơ sở dữ liệu. Để giới thiệu cách xóa các bản ghi vào cơ sở dữ liệu của chúng ta, hãy sử dụng cùng một cấu trúc bảng đã được sử dụng ở trên.
TutorialID |
TutorialName |
1 |
C # |
2 |
ASP.Net |
3 |
VB.Net hoàn thành |
Hãy thay đổi mã trong biểu mẫu của chúng tôi, để chúng tôi có thể xóa hàng sau
TutorialID |
TutorialName |
3 |
VB.Net hoàn thành |
Vì vậy, hãy thêm đoạn mã sau vào chương trình của chúng tôi. Đoạn mã dưới đây sẽ được sử dụng để xóa bản ghi hiện có trong cơ sở dữ liệu của chúng tôi.
Giải thích mã: -
- Sự khác biệt chính trong mã này là chúng tôi hiện đang phát hành câu lệnh SQL xóa. Câu lệnh xóa được sử dụng để xóa hàng trong bảng demotb trong đó TutorialID có giá trị là 3.
- Trong lệnh bộ điều hợp dữ liệu của chúng tôi, bây giờ chúng tôi liên kết lệnh chèn SQL với bộ điều hợp của chúng tôi. Sau đó, 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 Delete đối với cơ sở dữ liệu của chúng tôi.
Khi mã trên được đặt và dự án được thực thi bằng Visual Studio, bạn sẽ nhận được kết quả bên dưới. Khi biểu mẫu được hiển thị, hãy nhấp vào nút Kết nối.
Đầu ra: -
Nếu bạn thực sự truy cập SQL Server Express và xem các hàng trong bảng demo, bạn sẽ thấy hàng đã được xóa thành công như hình dưới đây.
Kết nối điều khiển với dữ liệu
Trong các phần trước, chúng ta đã biết cách sử dụng các lệnh C # như SQLCommand và SQLReader để tìm nạp dữ liệu từ cơ sở dữ liệu. Chúng tôi cũng đã thấy cách chúng tôi đọc từng hàng của bảng và sử dụng hộp thư để hiển thị nội dung của bảng cho người dùng.
Nhưng rõ ràng, người dùng không muốn xem dữ liệu được gửi qua hộp tin nhắn và muốn có các biện pháp kiểm soát tốt hơn để hiển thị dữ liệu. Hãy xem cấu trúc dữ liệu dưới đây trong một bảng
TutorialID |
TutorialName |
1 |
C # |
2 |
ASP.Net |
3 |
VB.Net hoàn thành |
Từ cấu trúc dữ liệu trên, người dùng lý tưởng sẽ muốn thấy TutorialID và Tên hướng dẫn được hiển thị trong hộp văn bản. Thứ hai, họ có thể muốn có một số loại điều khiển nút có thể cho phép họ chuyển đến bản ghi tiếp theo hoặc bản ghi trước đó trong bảng. Điều này sẽ yêu cầu một chút mã hóa bổ sung từ phía nhà phát triển.
Tin tốt là C # có thể giảm nỗ lực mã hóa bổ sung bằng cách cho phép ràng buộc các điều khiển với dữ liệu. Điều này có nghĩa là C # có thể tự động điền giá trị của hộp văn bản theo một trường cụ thể của bảng.
Vì vậy, bạn có thể có 2 hộp văn bản trong một biểu mẫu cửa sổ. Sau đó, bạn có thể liên kết một hộp văn bản với trường TutorialID và một hộp văn bản khác với trường TutorialName. Liên kết này được thực hiện trong chính trình thiết kế Visual Studio và bạn không cần phải viết thêm mã cho việc này.
Visual Studio sẽ đảm bảo rằng nó viết mã cho bạn để đảm bảo liên kết hoạt động. Sau đó, khi bạn chạy ứng dụng của mình, các điều khiển hộp văn bản sẽ tự động kết nối với cơ sở dữ liệu, tìm nạp dữ liệu và hiển thị nó trong các điều khiển hộp văn bản. Không cần mã hóa từ phía nhà phát triển để đạt được điều này.
Hãy xem một ví dụ mã về cách chúng ta có thể đạt được sự ràng buộc của các điều khiển.
Trong ví dụ của chúng tôi, chúng tôi sẽ tạo 2 hộp văn bản trên biểu mẫu cửa sổ. Chúng sẽ đại diện cho ID hướng dẫn và Tên hướng dẫn tương ứng. Họ sẽ bị ràng buộc với các trường Tutorial ID và TutorialName của cơ sở dữ liệu tương ứng.
Hãy làm theo các bước được đề cập dưới đây để đạt được điều này.
Bước 1) Xây dựng biểu mẫu cơ bản. Trong biểu mẫu kéo và thả 2 thành phần- nhãn và hộp văn bản. Sau đó, thực hiện các bước sau
- Đặt giá trị văn bản của nhãn đầu tiên là TutorialID
- Đặt giá trị văn bản của nhãn thứ hai là TutorialName
- Đặt thuộc tính tên của hộp văn bản đầu tiên là txtID
- Đặt thuộc tính tên của hộp văn bản thứ hai là txtName
Dưới đây là biểu mẫu sẽ trông như thế nào khi các bước nêu trên được thực hiện.
Bước 2) Bước tiếp theo là thêm Bộ điều hướng liên kết vào biểu mẫu. Điều khiển Bộ điều hướng ràng buộc có thể tự động điều hướng qua từng hàng của bảng. Để thêm trình điều hướng liên kết, chỉ cần đi tới hộp công cụ và kéo nó vào biểu mẫu.
Bước 3) Bước tiếp theo là thêm một ràng buộc vào cơ sở dữ liệu của chúng tôi. Điều này có thể được thực hiện bằng cách đi tới bất kỳ điều khiển Textbox nào và nhấp vào thuộc tính DataBindings-> Text. Bộ điều hướng ràng buộc được sử dụng để thiết lập một liên kết từ ứng dụng của bạn đến cơ sở dữ liệu.
Khi bạn thực hiện bước này, Visual Studio sẽ tự động thêm mã cần thiết vào ứng dụng để đảm bảo ứng dụng được liên kết với cơ sở dữ liệu. Thông thường, cơ sở dữ liệu trong Visual Studio được gọi là Nguồn dữ liệu dự án. Vì vậy, để đảm bảo kết nối được thiết lập giữa ứng dụng và cơ sở dữ liệu, bước đầu tiên là tạo nguồn dữ liệu dự án.
Màn hình sau sẽ hiển thị. Nhấp vào liên kết- "Thêm Nguồn Dữ liệu Dự án". Khi bạn nhấp vào nguồn dữ liệu của dự án, bạn sẽ thấy một trình hướng dẫn; điều này sẽ cho phép bạn xác định kết nối cơ sở dữ liệu.
Bước 4) Khi bạn nhấp vào liên kết Thêm Nguồn Dữ liệu Dự án, bạn sẽ thấy một trình hướng dẫn sẽ được sử dụng để tạo kết nối với cơ sở dữ liệu demotb. Các bước sau đây trình bày chi tiết những gì cần được cấu hình trong mỗi bước của trình hướng dẫn.
- Trong màn hình bật lên, hãy chọn loại Nguồn dữ liệu làm Cơ sở dữ liệu và sau đó nhấp vào nút tiếp theo.
- Trong màn hình tiếp theo, bạn cần bắt đầu tạo chuỗi kết nối với cơ sở dữ liệu. Chuỗi kết nối là bắt buộc để ứng dụng thiết lập kết nối với cơ sở dữ liệu. Nó chứa các tham số như tên máy chủ, tên cơ sở dữ liệu và tên của trình điều khiển.
- Nhấp vào nút Kết nối mới
- Chọn Nguồn dữ liệu là Microsoft SQL Server
- Nhấp vào nút Tiếp tục.
- 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
- Chọn tên máy chủ mà SQL Server cư trú
- Nhập id người dùng và mật khẩu để kết nối với cơ sở dữ liệu
- Chọn cơ sở dữ liệu làm bản demo
- Nhấp vào nút 'ok'.
- Trong màn hình này, chúng tôi sẽ xác nhận tất cả các cài đặt đã được thực hiện trên các màn hình trước đó.
- Chọn tùy chọn "Có" để bao gồm dữ liệu nhạy cảm trong chuỗi kết nối
- Nhấp vào nút "Tiếp theo".
- Trong màn hình tiếp theo, nhấp vào nút "Tiếp theo" để xác nhận việc tạo chuỗi kết nối
- Trong bước này,
- Chọn các bảng của Demotb, bảng này sẽ được hiển thị trong màn hình tiếp theo.
- Bảng này bây giờ sẽ trở thành một nguồn dữ liệu có sẵn trong dự án C #
Khi bạn bấm vào nút Kết thúc, Visual Studio bây giờ sẽ đảm bảo rằng ứng dụng có thể truy vấn tất cả các hàng trong bảng Demotb.
Bước 5) Bây giờ nguồn dữ liệu đã được xác định, bây giờ chúng ta cần kết nối hộp văn bản TutorialID và TutorialName với bảng demotb. Khi bạn nhấp vào thuộc tính Văn bản của hộp văn bản TutorialID hoặc TutorialName, bây giờ bạn sẽ thấy rằng nguồn liên kết với Demotb đã có sẵn.
Đối với hộp văn bản đầu tiên, hãy chọn ID Hướng dẫn. Lặp lại bước này cho hộp văn bản thứ hai và chọn trường làm TutorialName. Các bước dưới đây cho thấy cách chúng ta có thể điều hướng đến từng điều khiển và thay đổi ràng buộc cho phù hợp.
- Nhấp vào điều khiển ID Hướng dẫn.
- Trong cửa sổ Thuộc tính, bạn sẽ thấy các thuộc tính của hộp văn bản TutorialID. Chuyển đến thuộc tính văn bản và nhấp vào nút mũi tên xuống.
- Khi bạn nhấp vào nút mũi tên xuống, bạn sẽ thấy tùy chọn Nguồn demotbBinding. Và bên dưới, bạn sẽ thấy các tùy chọn TutorialName và TutorialID. Chọn một ID Hướng dẫn.
Lặp lại 3 bước trên cho hộp văn bản Tên Hướng dẫn.
- Vì vậy, hãy nhấp vào hộp văn bản Tên Hướng dẫn
- Đi tới cửa sổ thuộc tính
- Chọn thuộc tính Văn bản
- Chọn tùy chọn TutorialName trong demotbBindingSource
Bước 6) Tiếp theo, chúng ta cần thay đổi thuộc tính Nguồn liên kết của BindingNavigator để trỏ đến nguồn dữ liệu Demotb của chúng ta. Lý do chúng tôi làm điều này là Bộ điều hướng ràng buộc cũng cần biết bảng mà nó cần tham chiếu đến.
Bộ điều hướng ràng buộc được sử dụng để chọn bản ghi tiếp theo hoặc bản ghi trước đó trong bảng. Vì vậy, mặc dù nguồn dữ liệu được thêm vào toàn bộ dự án và vào điều khiển hộp văn bản, chúng tôi vẫn cần đảm bảo Bộ điều hướng ràng buộc cũng có liên kết đến nguồn dữ liệu của chúng tôi. Để thực hiện việc này, chúng ta cần nhấp vào đối tượng điều hướng Ràng buộc, chuyển đến thuộc tính Nguồn ràng buộc và chọn đối tượng có sẵn
Tiếp theo, chúng ta cần chuyển đến cửa sổ Properties để có thể thực hiện thay đổi đối với thuộc tính Binding Source.
Khi tất cả các bước trên được thực hiện thành công, bạn sẽ nhận được kết quả được đề cập bên dưới.
Đầu ra: -
Bây giờ khi dự án được khởi chạy, bạn có thể thấy rằng các hộp văn bản tự động lấy các giá trị từ bảng.
Khi bạn nhấp vào nút Tiếp theo trên Bộ điều hướng, nó sẽ tự động chuyển đến bản ghi tiếp theo trong bảng. Và các giá trị của bản ghi tiếp theo sẽ tự động xuất hiện trong các hộp văn bản
C # DataGridView
Lưới dữ liệu được sử dụng để hiển thị dữ liệu từ một bảng ở định dạng giống như lưới. Khi người dùng xem dữ liệu bảng của người dùng, họ thường thích xem tất cả các hàng của bảng trong một lần. Điều này có thể đạt được nếu chúng ta có thể hiển thị dữ liệu dưới dạng lưới trên biểu mẫu.
C # và Visual Studio có lưới dữ liệu có sẵn, có thể sử dụng lưới này để hiển thị dữ liệu. Hãy xem một ví dụ về điều này. Trong ví dụ của chúng tôi, chúng tôi sẽ có một lưới dữ liệu, sẽ được sử dụng để hiển thị các giá trị ID Hướng dẫn và Tên Hướng dẫn từ bảng demo.
Bước 1) Kéo điều khiển DataGridView từ hộp công cụ vào Biểu mẫu trong Visual Studio. Điều khiển DataGridView được sử dụng trong Visual Studio để hiển thị các hàng của bảng ở định dạng giống như lưới.
Bước 2) Trong bước tiếp theo, chúng ta cần kết nối lưới dữ liệu của chúng ta với cơ sở dữ liệu. Trong phần trước, chúng tôi đã tạo nguồn dữ liệu dự án. Hãy sử dụng cùng một nguồn dữ liệu trong ví dụ của chúng tôi.
- Đầu tiên, bạn cần chọn lưới và nhấp vào mũi tên trong lưới. Thao tác này sẽ hiển thị các tùy chọn cấu hình lưới.
- Trong các tùy chọn cấu hình, chỉ cần chọn nguồn dữ liệu là demotbBindingSource là nguồn dữ liệu được tạo trong phần trước.
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 đầu ra được đề cập bên dưới.
Đầu ra: -
Từ đầu ra, bạn có thể thấy rằng lưới được điền bởi các giá trị từ cơ sở dữ liệu.
Tóm lược
- C # SQL có thể hoạt động với các cơ sở dữ liệu như Oracle và Microsoft SQL Server.
- Hướng dẫn cơ sở dữ liệu C # này có tất cả các lệnh cần thiết để làm việc với cơ sở dữ liệu. Điều này liên quan đến việc thiết lập kết nối với cơ sở dữ liệu. Bạn có thể thực hiện các thao tác như chọn, cập nhật, chèn và xóa bằng các lệnh trong C #.
- Đối tượng DataReader trong C # được sử dụng để giữ tất cả dữ liệu do cơ sở dữ liệu trả về. Vòng lặp While trong C # có thể được sử dụng để đọc từng hàng dữ liệu một.
- Đối tượng bộ điều hợp dữ liệu được sử dụng để thực hiện các hoạt động SQL như chèn, xóa và cập nhật đối với cơ sở dữ liệu.
- C # có thể liên kết các điều khiển với các trường khác nhau trong một bảng. Chúng bị ràng buộc bởi việc xác định nguồn dữ liệu trong C #. Nguồn dữ liệu được sử dụng để lấy dữ liệu từ cơ sở dữ liệu và đưa chúng vào các điều khiển.
- Trình điều hướng liên kết được sử dụng để tự động điều hướng qua các hàng trong bảng.
- Lưới dữ liệu trong C # có thể kết nối với cơ sở dữ liệu và hiển thị tất cả các giá trị từ bảng ở định dạng giống như lưới.