Hướng dẫn insert update delete mysql - chèn cập nhật xóa mysql

Thực hành truy vấn, insert, update, delete dữ liệu Mysql bằng Ado.net trong C#

Mục lục:

  1. Đặt vấn đề
  2. Tạo và thêm dữ liệu table SinhVien trong phpmyadmin
  3. Truy vấn lấy toàn bộ danh sách sinh viên
  4. Insert sinh viên vào csdl
  5. Sửa thông tin sinh viên vào csdl
  6. Xóa sinh viên chỉ định
  7. Giải thích code
  8. Kết luận

1. Đặt vấn đề: 

Làm việc với CSDL MySql sử dụng Ado.net trong C# là một vấn đề rất quan trọng giúp chúng ta phát triển phần mềm được dễ dàng hơn. Bài tập thực hành trước đó chúng ta đã nắm được cách cài đặt MySql và cấu hình để kết nối được CSDL MySql trong C#. Bài tập hôm nay chúng ta sẽ thực hiện Thêm, Xóa, Sửa, Truy vấn thông tin của sinh viên ứng với CSDL Mysql. Chương trình cho phép thực hiện các lệnh Select, Insert, Update, Delete thông tin sinh viên trực tiếp ứng với Table sinhvien.CSDL MySql sử dụng Ado.net trong C# là một vấn đề rất quan trọng giúp chúng ta phát triển phần mềm được dễ dàng hơn.
Bài tập thực hành trước đó chúng ta đã nắm được
cách cài đặt MySql và cấu hình để kết nối được CSDL MySql trong C#. Bài tập hôm nay chúng ta sẽ thực hiện Thêm, Xóa, Sửa, Truy vấn thông tin của sinh viên ứng với CSDL Mysql. Chương trình cho phép thực hiện các lệnh Select, Insert, Update, Delete thông tin sinh viên trực tiếp ứng với Table sinhvien.

2. Tạo và thêm dữ liệu cho table SinhVien trong phpmyadmin

Ở bài thực hành hôm trước tôi đã hướng dẫn chúng ta kết nối với CSDL MySql nếu chưa xem các bạn có thể tham khảo tại đây, chúng ta đã tạo thành công Database có tên laptrinhdotnet với bảng mã UTF-8 unicode_ci. Chúng ta tiếp tục sử dụng phpmyadmin để tạo table sinhvien gồm các cột: id_student kiểu dữ liệu integer, full_name kiểu dữ liệu varchar, age kiểu dữ liệu integer, grade kiểu dữ liệu double như hình bên dưới.tham khảo tại đây, chúng ta đã tạo thành công Database có tên laptrinhdotnet với bảng mã UTF-8 unicode_ci. Chúng ta tiếp tục sử dụng phpmyadmin để tạo table sinhvien gồm các cột: id_student kiểu dữ liệu integer, full_name kiểu dữ liệu varchar, age kiểu dữ liệu integer, grade kiểu dữ liệu double như hình bên dưới.

Sau đó ta bắt đầu nhập dữ liệu sinh viên để test thử như hình bên dưới [Lưu ý: đây chỉ là dữ liệu mẫu để chúng ta thực hiện test chương trình]Lưu ý: đây chỉ là dữ liệu mẫu để chúng ta thực hiện test chương trình]

3. Truy vấn lấy toàn bộ danh sách sinh viên

Đây sẽ là sourcecode minh họa phần này, mình sẽ giải thích code ở bên dưới:sourcecode minh họa phần này, mình sẽ giải thích code ở bên dưới:

Class SinhVien.cs

using System;System;

using System.Collections.Generic;System.Collections.Generic;

using System.Linq;System.Linq;

using System.Text;System.Text;

using System.Threading.Tasks;System.Threading.Tasks;

namespace ThucHanh.Net_ThucHanh07{ThucHanh.Net_ThucHanh07{

    class Student{class Student{

        private int idStudent;private int idStudent;

        private String fullName; private String fullName;

        private int age; private int age;

        private double grade; private double grade;

        public Student[int idStudent, string fullName, int age, double grade]{public Student[int idStudent, string fullName, int age, double grade]{

            this.IdStudent = idStudent;this.IdStudent = idStudent;

            this.FullName = fullName;this.FullName = fullName;

            this.Age = age;this.Age = age;

            this.Grade = grade;this.Grade = grade;

        }

        public int IdStudent { get => idStudent; set => idStudent = value; } public int IdStudent { get => idStudent; set => idStudent = value; }

        public string FullName { get => fullName; set => fullName = value; }   public string FullName { get => fullName; set => fullName = value; }

        public int Age { get => age; set => age = value; } public int Age { get => age; set => age = value; }

        public double Grade { get => grade; set => grade = value; }public double Grade { get => grade; set => grade = value; }

        public void print[]{public void print[]{

            Console.WriteLine["MSSV: " + idStudent];MSSV: " + idStudent];

            Console.WriteLine["Họ Tên: " + fullName];Họ Tên: " + fullName];

            Console.WriteLine["Tuổi: " + age];Tuổi: " + age];

            Console.WriteLine["Điểm TB: " + grade];Điểm TB: " + grade];

            Console.WriteLine["------------------------"];------------------------"];

        }}}}}

Truy vấn lấy ra thông tin toàn bộ danh sách sinh viên:

public static ArrayList selectAllStudent[MySqlConnection connect]{ ArrayList selectAllStudent[MySqlConnection connect]{

            ArrayList listStudent = new ArrayList[];new ArrayList[];

            String sql = "select * from student";String sql = "select * from student";

            MySqlCommand command = new MySqlCommand[];new MySqlCommand[];

            command.Connection = connect;

            command.CommandText = sql;

            using [DbDataReader reader = command.ExecuteReader[]]{using [DbDataReader reader = command.ExecuteReader[]]{

                if [reader.HasRows]{if [reader.HasRows]{

                    while [reader.Read[]]{while [reader.Read[]]{

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Sinh viên st = sinh viên mới [Reader.getInt32 [0], Reader.getString [1], Reader.GetInt32 [2], Reader.GetDouble [3]];new Student[reader.GetInt32[0], reader.GetString[1], reader.GetInt32[2], reader.GetDouble[3]];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; liststudent.add [ST];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }}}}}

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;return listStudent;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }

4. Chèn Sinh Viên Vào CSDL

Công khai Int Int InsertStudent [MySQLConnection Connect, Student st] { insertStudent[MySqlConnection connect, Student st]{

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Chuỗi sql = "chèn vào học sinh [id_student, full_name, tuổi, lớp]"String sql = "Insert into Student[id_student, full_name, age, grade]"

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; + "Giá trị [@IdStudent, @fullname, @age, @grade]";values [@idStudent, @fullName, @age, @grade] ";

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Lệnh mysqlcommand = new mysqlCommand [];new MySqlCommand[];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; lệnh.connection = Kết nối;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Command.CommandText = SQL;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; lệnh.parameter.addwithValue ["@idstudent", St.IdStudent];@idStudent", st.IdStudent];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; lệnh.parameter.addwithValue ["@fullname", St.fullname];@fullName", st.FullName];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Command.Parameter.AddwithValue ["@Age", St.Age];@age", st.Age];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Command.Parameter.AddWithValue ["@Lớp", St.Grade];@grade", st.Grade];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; int rows = Command.executenOnOnQuery [];int rows = command.ExecuteNonQuery[];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; trả lại hàng;return rows;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }

4. Chèn Sinh Viên Vào CSDL

Công khai Int Int InsertStudent [MySQLConnection Connect, Student st] { updateStudent[MySqlConnection connect, Student st]{

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Chuỗi sql = "chèn vào học sinh [id_student, full_name, tuổi, lớp]"Update Student set full_name = @fullName, age = @age, grade = @grade where id_student = @idStudent";

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Lệnh mysqlcommand = new mysqlCommand [];new MySqlCommand[];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; lệnh.connection = Kết nối;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Command.CommandText = SQL;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; lệnh.parameter.addwithValue ["@idstudent", St.IdStudent];@idStudent", st.IdStudent];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; lệnh.parameter.addwithValue ["@fullname", St.fullname];@fullName", st.FullName];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Command.Parameter.AddwithValue ["@Age", St.Age];@age", st.Age];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Command.Parameter.AddWithValue ["@Lớp", St.Grade];@grade", st.Grade];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; int rows = Command.executenOnOnQuery [];int rows = command.ExecuteNonQuery[];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; trả lại hàng;return rows;

5. Sửa Thôn tin Sinh Sinh Vin Vào CSDL

public static int updateStudent [mysqlConnection Connect, student st] {

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Chuỗi sql = "Cập nhật sinh viên đặt full_name = @fullname, Age = @age, Lớp = @grade WHER ID_STUDENT = @IDSTUDENT"; deleteStudent[MySqlConnection connect, int idStudent]{

}String sql = "Delete from Student where id_student = @idStudent";

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Lệnh mysqlcommand = new mysqlCommand [];new MySqlCommand[];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; lệnh.connection = Kết nối;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Command.CommandText = SQL;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; lệnh.parameter.addwithValue ["@idstudent", St.IdStudent];@idStudent", idStudent];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; int rows = Command.executenOnOnQuery [];int rows = command.ExecuteNonQuery[];

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; trả lại hàng;return rows;

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }

4. Chèn Sinh Viên Vào CSDL

  • Công khai Int Int InsertStudent [MySQLConnection Connect, Student st] {Class SinhVien gồm các thuộc tính cơ bản, Constructor, Getter, Setter,… Phương thức print[] để in ra thông tin của một sinh viên gồm đầy đủ các thuộc tính theo format nhất định.
  • Để làm việc với CSDL MySql chúng ta cần phải có thư viện Class Mysql.Data.Client toàn bộ thư viện này đã được hướng dẫn download cài đặt tại bài viết hướng dẫn trước đó, các bạn có thể xem lại.CSDL MySql chúng ta cần phải có thư viện Class Mysql.Data.Client toàn bộ thư viện này đã được hướng dẫn download cài đặt tại bài viết hướng dẫn trước đó, các bạn có thể xem lại.
  • Tất cả các truy vấn trên ta đều sử dụng MysqlCommandtương ứng cho Sql, nếu ta sử dụng hệ quản trị cơ sở dữ liệu khác thì cũng sẽ có lớp Command tương ứng.MysqlCommandtương ứng cho Sql, nếu ta sử dụng hệ quản trị cơ sở dữ liệu khác thì cũng sẽ có lớp Command tương ứng.
  • Để thực hiện truy vấn [Select] ta sử dụng phương thức ExecuteReader[], để thêm[Insert] xóa[Delete] sửa[Update] ta sử dụng ExecuteNonQuery[].Select] ta sử dụng phương thức ExecuteReader[], để thêm[Insert] xóa[Delete] sửa[Update] ta sử dụng ExecuteNonQuery[].
  • Kết quả trả về của ExecuteReader[] sẽ là đối tượng DbDataReader còn kết quả trả về của ExecuteNonQuery[] sẽ là một số nguyên xác định số dòng [record] bị ảnh hưởng.ExecuteReader[] sẽ là đối tượng DbDataReader còn kết quả trả về của ExecuteNonQuery[] sẽ là một số nguyên xác định số dòng [record] bị ảnh hưởng.

8. Kết luận:

Qua bài học này, tôi đã giới thiệu cho các bạn cách để thực hiện các truy vấn, thao tác với cơ sở dữ liệu MySql thông qua đối tượng MySqlCommand và thực hiện các phương thức ExecuteNonQuery[], ExecuteReader[],… Đây chính là phần lập trình back-end tương tác với CSDL MySql các bạn có thể áp dụng nhiều trong các ứng dụng của riêng mình. Chúc các bạn thành công!.cơ sở dữ liệu MySql thông qua đối tượng MySqlCommand và thực hiện các phương thức ExecuteNonQuery[], ExecuteReader[],… Đây chính là phần lập trình back-end tương tác với CSDL MySql các bạn có thể áp dụng nhiều trong các ứng dụng của riêng mình. Chúc các bạn thành công!.

Bài Viết Liên Quan

Chủ Đề