Untitled
unknown
plain_text
2 years ago
6.3 kB
5
Indexable
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace StudentManagementSystem { public partial class frmStudent : Form { public frmStudent(string msv) { this.msv = msv; // Truyền lại mã sinh viên khi form chạy InitializeComponent(); } private string msv; private void frmStudent_Load(object sender, EventArgs e) { if(string.IsNullOrEmpty(msv)) { this.Text = "Add new student"; } else { this.Text = "Update student's information"; //Lấy thông tin chi tiết từ của 1 sinh viên dựa vào msv //msv là mã sinh viên đã được truyền từ form StudentList (part4) var r = new Database().Select("SelectStudent '" + msv + "'"); //MessageBox.Show(r[0].ToString()); Truyền thành công txtFirst.Text = r["Last_Name"].ToString(); txtMiddle.Text = r["Middle_Name"].ToString(); txtLast.Text = r["Last_Name"].ToString(); mtbBirthday.Text = r["Birthday"].ToString(); if (int.Parse(r["Gender"].ToString()) == 0) { rbtMale.Checked = true; } else { rbtMale.Checked = true; } txtHometown.Text = r["Home_town"].ToString(); txtAddress.Text = r["Current_address"].ToString(); txtPhone.Text = r["Phone"].ToString(); txtEmail.Text = r["Email"].ToString(); } } private void btnSave_Click(object sender, EventArgs e) { // Trường hợp 1: Msv không có giá trị => Thêm mới sinh viên // Trường hợp 2: Nếu msv có giá trị => Update thông tin sinh viên // Ý tưởng: Khi thêm mới hay cập nhật thì đều cần tất cả thông tin sinh viên // Riêng cập nhật thì yêu cầu msv string sql = ""; string First_name = txtFirst.Text; string Middle_name = txtMiddle.Text; string Last_name = txtLast.Text; DateTime Birthday; // Vì sql xài dạng yyyy/mm/dd nên chúng ta nên ép kiểu sang dd/mm/yyyy try { Birthday = DateTime.ParseExact(mtbBirthday.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture); } catch (Exception) { MessageBox.Show("Birthday is not valid"); mtbBirthday.Select(); return; } string Gender = rbtMale.Checked ? "0" : "1"; //Toán tử 2 ngôi // Nếu rbtMale được chọn là giá trị 0 // Ngược lại thì giá trị 1 => Nữ string Home_town = txtHometown.Text; string Current_address = txtAddress.Text; string Phone = txtPhone.Text; string Email = txtEmail.Text; // Khai báo danh sách tham số là FirstPara List<CustomParameter> FirstPara = new List<CustomParameter>(); if (string.IsNullOrEmpty(msv)) // Thêm mới { sql = "AddNewStudent"; // Gọi procedure add sv } else // Cập nhật { sql = "UpdateStudent"; FirstPara.Add(new CustomParameter() { key = "@Student_ID", value = msv, }); } FirstPara.Add(new CustomParameter() { key = "@First_Name", value = First_name, }); FirstPara.Add(new CustomParameter() { key = "@Middle_Name", value = Middle_name, }); FirstPara.Add(new CustomParameter() { key = "@Last_Name", value = Last_name, }); FirstPara.Add(new CustomParameter() { key = "@Birthday", value = Birthday.ToString("yyyy-MM-dd"), }); FirstPara.Add(new CustomParameter() { key = "@Gender", value = Gender, }); FirstPara.Add(new CustomParameter() { key = "@Home_town", value = Home_town, }); FirstPara.Add(new CustomParameter() { key = "@Current_address", value = Current_address, }); FirstPara.Add(new CustomParameter() { key = "@Phone", value = Phone, }); FirstPara.Add(new CustomParameter() { key = "@Email", value = Email, }); var rs = new Database().ExeCute(sql, FirstPara); // Truyền 2 tham số là câu lệnh sql // Và danh sách các tham số if (rs == 1) // Nếu thành công { if (string.IsNullOrEmpty(msv))// Nếu thêm mới { MessageBox.Show("Add student successfully !"); } else // Nếu cập nhật { MessageBox.Show("Update student successfully !"); } this.Dispose(); } else // Nếu thất bại { MessageBox.Show("Execute failed"); } } } }
Editor is loading...