Thứ Bảy, 6 tháng 6, 2020

How To Create a SQL Server Database Programmatically by Using ADO.NET and Visual C#







https://support.microsoft.com/en-us/help/307283/how-to-create-a-sql-server-database-programmatically-by-using-ado-net

https://www.encodedna.com/aspdotnet/programmatically-create-a-table-in-sqlserver-using-aspdotnet-csharp.htm

https://www.guru99.com/c-sharp-access-database.html


https://www.techsupportnep.com/programming/csharp/how-to-create-quiz-application-in-csharpdotnet-using-sql-server-database-and-visual-studio.html














Trong hướng dẫn này, bạn sẽ học-

Nguyên tắc cơ bản của 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 làm việc Microsoft SQL Server làm cơ sở dữ liệu của chúng tôi. Đố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à 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 phổ biến cho tất cả các 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 đến 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à 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.
    2. Thông tin xác thực - 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.
    3. 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ố trong bao lâu kết nối sẽ hoạt động. Nếu không có thao tác 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.
  2. 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.
  3. 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. Các 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.
  4. 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.
  5. 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 những hàng nào cần xóa có thể được chỉ định trong C #.
Ok, bây giờ chúng ta đã thấy lý thuyết của từng hoạt động, hãy nhảy vào các phần tiếp theo để xem cách chúng ta có thể thực hiện các hoạt động cơ sở dữ liệu trong C #.

Cách kết nối C # với cơ sở dữ liệu

Bây giờ chúng ta hãy xem mã cần được giữ nguyên để tạo kết nối đến 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 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 dưới đây
  • Tên đăng nhập - sa
  • Mật khẩu - demo123
Chúng ta sẽ thấy một ứng dụng Windows đơn giản để làm việc với cơ sở dữ liệu. Chúng tôi sẽ có một nút đơn giản 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, 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.
Cơ sở dữ liệu truy cập C #
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 đề cập đến tên và vị trí của dự án của chúng tôi.
Cơ sở dữ liệu truy cập C #
  1. 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.
  2. Khi chúng tôi nhấp vào các tùy chọn Windows ở bước trước, chúng tôi 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.
  3. 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 một vị trí để lưu trữ ứng dụng của chúng tôi.
  4. Cuối cùng, chúng tôi nhấp vào nút 'OK' để cho 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
Cơ sở dữ liệu truy cập C #
Bước 4) Bây giờ bấm đú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ấn nút. Trong xử lý sự kiện, thêm mã dưới đây.
Cơ sở dữ liệu truy cập C #
sử dụng hệ thống;
sử dụng System.Collections.Generic;
sử dụng System.ComponentModel;
sử dụng System.Data;
sử dụng System.Data.SqlClient;
sử dụng System.Drawing;
sử dụng System.Linq;
sử dụng System.Text;
sử dụng System.Threading.T Nhiệm vụ;
sử dụng System.Windows.Forms;

không gian tên DemoApplication1
{
 lớp một phần Form1: Form
 {
  công khai Form1 ()
  {
   Khởi tạoComponent ();
  }

  nút void private1_Click (người gửi đối tượng, EventArss e)
  {
   chuỗi ConnetionString;
   SqlConnection cnn;
   ConnetionString = @ "Nguồn dữ liệu = WIN-50GP30FGO75; Danh mục ban đầu = Demodb; ID người dùng = sa; Password = demol23";
   cnn = new SqlConnection (ConnetionString);
   cnn.Open();
   MessageBox.Show ("Kết nối mở!");
   cnn. Đóng ();
  }
 }
}
Giải thích mã: -
  1. Bước đầu tiên là tạo các biến, sẽ được sử dụng để tạo chuỗi kết nối và kết nối với 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 cần được chỉ định chính xác cho C # để hiểu chuỗi kết nối. Chuỗi kết nối bao gồm các phần sau
    1. 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 WIN- 50GP30FGO75.
    2. Danh mục ban đầu được sử dụng để chỉ định tên của cơ sở dữ liệu
    3. ID 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, thuộc loại SqlConnection được sử dụng để thiết lập kết nối với cơ sở dữ liệu.
  4. Tiếp theo, chúng tôi sử dụng phương thức Open của biến cnn để mở kết nối tới 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.
  5. Khi hoạt động được hoàn thành thành công, chúng tôi sẽ đóng kết nối với cơ sở dữ liệu. Luôn luôn là một thực hành tốt để đóng kết nối với cơ sở dữ liệu nếu không có gì khác được yêu cầu phải thực hiện trên cơ sở dữ liệu.
Khi đoạn mã trên được đặt và dự án được thực thi bằng Visual Studio, bạn sẽ nhận được đầu ra bên dưới. Khi biểu mẫu được hiển thị, nhấp vào nút Kết nối.
Đầu ra: -
Cơ sở dữ liệu truy cập C #
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 với 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 phẩm sau trong cơ sở dữ liệu của mình.
  1. Một bảng 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.
  2. Bảng sẽ có 2 cột, một cột được gọi là "TutorialID" và cột còn lại gọi là "TutorialName."
  3. Hiện tại, bảng sẽ có 2 hàng như hình bên dưới.
Hướng dẫnID
Tên hướng dẫn
1
C#
2
ASP.Net
Hãy thay đổi mã theo 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ả các mã được nhập dưới đây 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) Chúng ta hãy chia mã thành 2 phần để dễ hiểu cho người dùng.
  • Đầu tiên sẽ là xây dựng câu lệnh "select" của chúng ta, 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 thi câu lệnh "select" đối với cơ sở dữ liệu và tìm nạp tất cả các hàng của bảng tương ứng.
Cơ sở dữ liệu truy cập C #
Giải thích mã: -
  1. Bước đầu tiên là tạo các biến sau
    1. 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 hoạt động đọ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 ra 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 tiếp theo để đọc dữ liệu từ cơ sở dữ liệu của chúng tôi.
    2. Đố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 của bảng bằng cách sử dụng trình đọc dữ liệu.
    3. Sau đó, chúng tôi xác định 2 biến chuỗi, một biến 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ị bảng.
  2. Bước tiếp theo là xác định câu lệnh SQL, sẽ được sử dụng đối với 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ừ demotb". Điều này sẽ lấy 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 tôi sẽ thực thi lệnh đọc dữ liệu, sẽ tìm nạp tất cả các hàng từ bảng demotb.
  5. Bây giờ chúng ta có tất cả các hàng của bảng với chúng ta, 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. 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 ta sẽ chỉ hiển thị đầ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.
Cơ sở dữ liệu truy cập C #
Giải thích mã: -
  1. 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 MessageBox. Biến đầu ra sẽ chứa tất cả các giá trị từ bảng demotb.
  2. 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ớ rằng đây luôn là một thực hành tốt.
Khi đoạn mã trên được đặt và dự án được chạy bằng Visual Studio, bạn sẽ nhận được đầu ra bên dưới. Khi biểu mẫu được hiển thị, nhấp vào nút Kết nối.
Đầu ra: -
Cơ sở dữ liệu truy cập C #
Từ đầ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

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. Để trình bày cách chèn bản ghi vào cơ sở dữ liệu của chúng tôi, hãy lấy cấu trúc bảng tương tự đã được sử dụng ở trên.
Hướng dẫnID
Tên hướng dẫn
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
Hướng dẫnID
Tên hướng dẫn
3
VB.Net
Vì vậy, hãy thêm mã sau đây 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ó trong cơ sở dữ liệu của chúng tôi.
Cơ sở dữ liệu truy cập C #
Giải thích mã: -
  1. Bước đầu tiên là tạo các biến sau
    1. 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 dựa trên cơ sở dữ liệu. Đối tượng này sẽ giữ lệnh SQL sẽ chạy với cơ sở dữ liệu SQL Server của chúng tôi.
    2. Đối tượng DataAd CHƯƠNG được sử dụng để thực hiện các hoạt động SQL cụ thể như chèn, xóa và cập nhật các lệnh.
    3. 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.
  2. Bước tiếp theo là thực sự xác định câu lệnh SQL sẽ được sử dụng đối với 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 câu lệnh chèn, nó sẽ chèn bản ghi của TutorialID = 1 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, 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 có nghĩa là thao tác 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ố các câu lệnh này đối với bảng, bạn cần sử dụng phương thức ExecuteNonQuery.
  5. 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ớ rằng đây luôn là một thực hành tốt.
Khi đoạn mã trên được đặt và dự án được thực thi bằng Visual Studio, bạn sẽ nhận được đầu ra bên dưới. Khi biểu mẫu được hiển thị, nhấp vào nút Kết nối.
Đầu ra: -
Cơ sở dữ liệu truy cập C #
Nếu bạn truy cập SQL Server Express và thấy 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 truy cập C #

Cơ sở dữ liệu cập nhật C #

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 tôi, hãy lấy cấu trúc bảng tương tự đã được sử dụng ở trên.
Hướng dẫnID
Tên hướng dẫn
1
C#
2
ASP.Net
3
VB.Net
Hãy thay đổi mã theo 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". 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ẽ giữ nguyên.
Hàng cũ
Hướng dẫnID
Tên hướng dẫn
3
VB.Net
Hàng mới
Hướng dẫnID
Tên hướng dẫn
3
Hoàn thành VB.Net
Vì vậy, hãy thêm mã sau đây 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 một bản ghi hiện có trong cơ sở dữ liệu của chúng tôi.
Cơ sở dữ liệu truy cập C #
Giải thích mã: -
  1. Bước đầu tiên là tạo các biến sau
    1. 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 dựa trên cơ sở dữ liệu. Đối tượng này sẽ giữ lệnh SQL sẽ chạy với cơ sở dữ liệu SQL Server của chúng tôi.
    2. Đối tượng dataad CHƯƠNG được sử dụng để thực hiện các hoạt động SQL cụ thể như chèn, xóa và cập nhật các lệnh.
    3. 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.
  2. Bước tiếp theo là xác định câu lệnh SQL sẽ được sử dụng đối với 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 đưa ra 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 "Hoàn thành VB.Net" trong khi TutorialID không thay đổi và được giữ là 3.
  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 đã 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, 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.
  5. 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ớ rằng đây luôn là một thực hành tốt.
Khi đoạn mã trên được đặt và dự án được thực thi bằng Visual Studio, bạn sẽ nhận được đầu ra bên dưới. Khi biểu mẫu được hiển thị, nhấp vào nút Kết nối.
Đầu ra: -
Cơ sở dữ liệu truy cập C #
Nếu bạn thực sự đi đến SQL Server Express và thấy các hàng trong bảng demotb, bạn sẽ thấy hàng được cập nhật thành công như hình dưới đây.
Cơ sở dữ liệu truy cập C #

Xóa hồ sơ

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 tôi, hãy lấy cấu trúc bảng tương tự đã được sử dụng ở trên.
Hướng dẫnID
Tên hướng dẫn
1
C#
2
ASP.Net
3
Hoàn thành VB.Net
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
Hướng dẫnID
Tên hướng dẫn
3
Hoàn thành VB.Net
Vì vậy, hãy thêm mã sau đây 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 một bản ghi hiện có trong cơ sở dữ liệu của chúng tôi.
Cơ sở dữ liệu truy cập C #
Giải thích mã: -
  1. Sự khác biệt chính trong mã này là chúng tôi hiện đang ban 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.
  2. 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 Xóa đối với cơ sở dữ liệu của chúng tôi.
Khi đoạn mã trên được đặt và dự án được thực thi bằng Visual Studio, bạn sẽ nhận được đầu ra bên dưới. Khi biểu mẫu được hiển thị, nhấp vào nút Kết nối.
Đầu ra: -
Cơ sở dữ liệu truy cập C #
Nếu bạn thực sự đi đến SQL Server Express và thấy các hàng trong bảng demotb, bạn sẽ thấy hàng đã được xóa thành công như hiển thị bên dưới.
Cơ sở dữ liệu truy cập C #

Kết nối điều khiển với dữ liệu

Trong các phần trước, chúng ta đã thấy làm thế nào để chúng ta có thể 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ông báo để 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 thông báo và muốn kiểm soát tốt hơn để hiển thị dữ liệu. Hãy lấy cấu trúc dữ liệu dưới đây trong một bảng
Hướng dẫnID
Tên hướng dẫn
1
C#
2
ASP.Net
3
Hoàn thành VB.Net
Từ cấu trúc dữ liệu trên, người dùng lý tưởng muốn xem Tên hướng dẫn 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ọ đi đến bản ghi tiếp theo hoặc bản ghi trước đó trong bảng. Điều này sẽ đòi hỏi một chút mã hóa thêm từ cuối củ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 hình thức 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 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 yêu cầu mã hóa từ đầu của nhà phát triển để đạt được điều này.
Hãy xem xét 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 mẫu cửa sổ. Họ sẽ đại diện cho ID hướng dẫn và Tên hướng dẫn tương ứng. Chúng sẽ được liên kết với các trường Hướng dẫn 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 hình thức cơ bản. Ở dạng 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
  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
  3. Đặt thuộc tính tên của hộp văn bản đầu tiên là txtID
  4. Đặt thuộc tính tên của hộp văn bản thứ hai là txtName
Dưới đây là cách biểu mẫu sẽ trông như thế nào khi các bước được đề cập ở trên được thực hiện.
Cơ sở dữ liệu truy cập C #
Bước 2) Bước tiếp theo là thêm một Điều hướng ràng buộc vào biểu mẫu. Điều khiển đ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 đến hộp công cụ và kéo nó vào biểu mẫu.
Cơ sở dữ liệu truy cập C #
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 nào của Textbox và nhấp vào thuộc tính DataBindings-> Text. Binding Navigator đượ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ã yêu cầu 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 bấm vào nguồn dữ liệu dự án, bạn sẽ được trình bày với 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.
Cơ sở dữ liệu truy cập C #
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 đến cơ sở dữ liệu demotb. Các bước sau đây cho thấ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.
  1. Trong màn hình bật lên, 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.
Cơ sở dữ liệu truy cập C #
  1. Trong màn hình tiếp theo, bạn cần bắt đầu tạo chuỗi kết nối đến cơ sở dữ liệu. Chuỗi kết nối là cần thiết cho ứ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.
    1. Nhấp vào nút Kết nối mới
    2. Chọn nguồn dữ liệu là Microsoft SQL Server
    3. Nhấp vào nút Tiếp tục.
Cơ sở dữ liệu truy cập C #
  1. 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ủ mà SQL Server cư trú
    2. Nhập id 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àm demotb
    4. Nhấp vào nút 'ok'.
Cơ sở dữ liệu truy cập C #
  1. 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 đó.
    1. Chọn tùy chọn "Có" để đưa dữ liệu nhạy cảm vào chuỗi kết nối
    2. Nhấp vào nút "Tiếp theo".
Cơ sở dữ liệu truy cập C #
  1. 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
Cơ sở dữ liệu truy cập C #
  1. Trong bước này,
  1. 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.
  2. Bảng này bây giờ sẽ trở thành nguồn dữ liệu có sẵn trong dự án C #
Cơ sở dữ liệu truy cập C #
Khi bạn bấm vào nút Kết thúc, Visual Studio 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 bấm 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 ràng buộc với Demotb có sẵn.
Đối với hộp văn bản đầu tiên, 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.
  1. Nhấp vào điều khiển ID Hướng dẫn.
Cơ sở dữ liệu truy cập C #
  1. 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.
Cơ sở dữ liệu truy cập C #
  1. 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à trong phần này, bạn sẽ thấy các tùy chọn của TutorialName và TutorialID. Chọn ID hướng dẫn một.
Cơ sở dữ liệu truy cập C #
Lặp lại 3 bước trên cho hộp văn bản Tên Hướng dẫn.
  1. Vì vậy, nhấp vào hộp văn bản Tên hướng dẫn
  2. Đi đến cửa sổ thuộc tính
  3. Chọn thuộc tính Text
  4. 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 Binding 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à Binding Navigator cũng cần biết nó cần tham khảo bảng nào.
Bộ điều hướng Binding được sử dụng để chọn bản ghi tiếp theo hoặc trước đó trong bảng. Vì vậy, mặc dù toàn bộ nguồn dữ liệu được thêm vào 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 Binding Navigator 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 Binding, đi đến thuộc tính Nguồn Binding và chọn đối tượng có sẵn
Cơ sở dữ liệu truy cập C #
Tiếp theo, chúng ta cần đi đến cửa sổ Thuộc tính để có thể thực hiện thay đổi đối với thuộc tính Nguồn Binding.
Cơ sở dữ liệu truy cập C #
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 đầu ra được đề cập dưới đây.
Đầu ra: -
Cơ sở dữ liệu truy cập C #
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 sẽ tự động lấy các giá trị từ bảng.
Cơ sở dữ liệu truy cập C #
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 theo định dạng giống như lưới. Khi người dùng nhìn thấy dữ liệu bảng, họ thường thích nhìn thấy tất cả các hàng của bảng trong một lần chụp. Điều này có thể đạt được nếu chúng ta có thể hiển thị dữ liệu trong một lưới trên biểu mẫu.
C # và Visual Studio có lưới dữ liệu sẵn có, điều này có thể được sử dụng để hiển thị dữ liệu. Chúng ta 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 demotb.
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 theo định dạng giống như lưới.
Cơ sở dữ liệu truy cập C #
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 mình với cơ sở dữ liệu. Trong phần cuối cùng, chúng tôi đã tạo ra một 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.
  1. Đầu tiên, bạn cần chọn lưới và bấm vào mũi tên trong lưới. Điều này sẽ đưa lên các tùy chọn cấu hình lưới.
  2. 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.
Cơ sở dữ liệu truy cập 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 dưới đây.
Đầu ra: -
Cơ sở dữ liệu truy cập C #
Từ đầu ra, bạn có thể thấy lưới được điền bởi các giá trị từ cơ sở dữ liệu.
Tóm lược
  • C # có thể hoạt động với các cơ sở dữ liệu như Oracle và Microsoft SQL Server.
  • C # có tất cả các lệnh được yêu cầu để 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 một kết nối đến 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 được 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 lần.
  • Đố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ằng cách 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à điền chúng vào các điều khiển.
  • Bộ đ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 theo định dạng giống như lưới















SQL Server Database Backup and Restore in C#






https://www.codeproject.com/Tips/873677/SQL-Server-Database-Backup-and-Restore-in-Csharp

https://foxlearn.com/article/restore-sql-database-backup-in-csharp-106.html

https://www.youtube.com/watch?v=1o3e2NV7ovE

//code for backup browse button FolderBrowserDialog fbd = new FolderBrowserDialog(); if (fbd.ShowDialog() == DialogResult.OK) { BackupTextBox.Text = fbd.SelectedPath; BrowseBackupBtn.Enabled = true; } //code for backup button con.Open(); String database = con.Database.ToString(); try { if (BackupTextBox.Text == string.Empty) { // s.Speak("please enter the valid backup file location"); MessageBox.Show("please enter the backup file location"); } else { string q = "BACKUP DATABASE [" + database + "] TO DISK='" + BackupTextBox.Text + "\\" + "Database" + "-" + DateTime.Now.ToString("yyyy-MM-dd--HH-mm-ss") + ".bak'"; SqlCommand scmd = new SqlCommand(q, con); scmd.ExecuteNonQuery(); // s.Speak("Backup taken successfully"); MessageBox.Show("Backup taken successfully", "Backup successs", MessageBoxButtons.OK, MessageBoxIcon.Information); button2.Enabled = false; } //code for restore browse button OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "SQL SERVER database backup files|*.bak"; ofd.Title = "Database Restore"; if (ofd.ShowDialog() == DialogResult.OK) { RestoreTextBox.Text = ofd.FileName; RestoreBtn.Enabled = true; } //code for the restore button con.Open(); String database = con.Database.ToString(); try { string sql1 = string.Format("ALTER DATABASE [" + database + "] SET SINGLE_USER WITH ROLLBACK IMMEDIATE"); SqlCommand cmd1 = new SqlCommand(sql1, con); cmd1.ExecuteNonQuery(); string sql2 = string.Format("USE MASTER RESTORE DATABASE [" + database + "] FROM DISK='" + RestoreTextBox.Text + "' WITH REPLACE;"); SqlCommand cmd2 = new SqlCommand(sql2, con); cmd2.ExecuteNonQuery(); string sql3 = string.Format("ALTER DATABASE [" + database + "] SET MULTI_USER"); SqlCommand cmd3 = new SqlCommand(sql3, con); cmd3.ExecuteNonQuery(); // s.Speak("Database Restored successfully"); MessageBox.Show("Database Restored successfully", "Restore Database successs", MessageBoxButtons.OK, MessageBoxIcon.Information); button2.Enabled = false; } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { con.Close(); }













Thứ Tư, 3 tháng 6, 2020

OnePay (Visa)



http://docs.vietiso.com/website/c361.html?fbclid=IwAR3heHNIxesYbYFwi3oD-IugebHFCZRme7GIF_zAQFyNlgzBvc9Dk2EMEhw



OnePay (Visa)



Để kích hoạt cổng thanh toán OnePAY quốc tế, thực hiện theo các bước sau: 
  • Click "Setting" để cập nhật thông tin kích hoạt cho cổng thanh toán OnePAY quốc tế, sẽ hiển thị như bảng dưới đây:
  • Điền đầy đủ nội dung vào các ô bao gồm:
              - Name Payment: Tên phương thức thanh toán.
              - URL Payment: Website chấp nhận thanh toán trực tuyến.
              - Merchant ID, Hashcode, AccessCode: ID tài khoản, đoạn mã hóa và mã truy cập (sẽ được nhà cung cấp Onepay cung cấp sau khi ký kết hợp đồng).
  • Click "Save" để Lưu thông tin vừa nhập hoặc "Cancel" để hủy bỏ thông tin đó.
Lưu ý: -   Phương thức thanh toán này sẽ bị ẩn, không hiển thị ngoài Website khi bạn bỏ click nút "Cho phép thanh toán qua OnePAY" .
           -   Nút "Test Mode" dùng để kích hoạt chế độ kiểm tra, và dùng thử. Sau khi tích hợp và kiểm tra hệ thống trên môi trường test thành công, doanh nghiệp sẽ yêu cầu các thông số thật để cập nhật và đưa hệ thống vào hoạt động chính thức.