📄 formstudentdelete.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using StudentManager.DbLayer;
namespace StudentManager
{
public partial class FormStudentDelete : Form
{
public FormStudentDelete()
{
InitializeComponent();
}
private void splitContainer1_Panel1_Paint(object sender, PaintEventArgs e)
{
}
/// <summary>
/// 初始化窗体中控件的数据
/// </summary>
void InitData()
{
//1 查询数据表Department中的院系数据,并绑定到“院系”下拉框中
//构造查询SQL
string sql = "";
sql += "select * from [Department]";
//查询
Database db = new Database();
SqlDataReader dr = db.GetDataReader(sql);
//绑定到下拉框中
comboBoxDepartment.Items.Clear();
while (dr.Read())
{
comboBoxDepartment.Items.Add(GetSafeData.ValidateDataReader_S(dr, "DepartmentName"));
}
}
/// <summary>
/// 根据用户输入的院系、入学年份信息,查询学生的详细信息,并显示在DataGridView中
/// </summary>
void LoadDeleteStudents()
{
if (comboBoxDepartment.SelectedItem == null || comboBoxEnterYear.SelectedItem == null)
return;
//构造查询SQL
string sql = "";
sql += "select SNo,SName,SAge,SGender,DepartmentName,SEnterYear ";
sql += " from [Student],[Department] where [Department].DepartmentName = ";
sql += SqlStringConstructor.GetQuotedString(comboBoxDepartment.SelectedItem.ToString());
sql += " and [Student].SEnterYear = ";
sql += SqlStringConstructor.GetQuotedString(comboBoxEnterYear.SelectedItem.ToString());
sql += " and [Student].SDepartmentId = [Department].DepartmentId";
//查询
Database db = new Database();
DataTable dt = db.GetDataTable(sql);
if (dt.Rows.Count == 0)
{
MessageBox.Show("数据库中没有满足条件的数据");
this.dataGridViewPreView.DataSource = null;
return;
}
//绑定到DataGriw
this.dataGridViewPreView.DataSource = dt;
}
/// <summary>
/// 窗体加载事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FormStudentDelete_Load(object sender, EventArgs e)
{
this.InitData();
}
/// <summary>
/// “修改”按钮单击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void buttonDelete_Click(object sender, EventArgs e)
{
string sql = "";
Database db = new Database();
int departmentId = 0;
//从Department表中,检索DepartmentId
sql = "select DepartmentId from [Department] where DepartmentName = ";
sql += SqlStringConstructor.GetQuotedString(comboBoxDepartment.SelectedItem.ToString());
DataRow row = db.GetDataRow(sql);
departmentId = GetSafeData.ValidateDataRow_N(row, "DepartmentId");
//构造Delete语句
sql = "";
sql += "Delete [student] ";
sql += " Where SEnterYear = " + SqlStringConstructor.GetQuotedString(comboBoxEnterYear.SelectedItem.ToString());
sql += " And SDepartmentId= " + departmentId;
db.ExecuteSQL(sql);
this.dataGridViewPreView.DataSource = null;
MessageBox.Show("删除成功!");
}
/// <summary>
/// “关闭”按钮单击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void buttonClose_Click(object sender, EventArgs e)
{
this.Close();
}
/// <summary>
/// 选择“入学年份”下拉框时,自动加载所有满足条件的学生数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void comboBoxEnterYear_SelectedIndexChanged(object sender, EventArgs e)
{
this.LoadDeleteStudents();
}
/// <summary>
/// 选择“院系”下拉框时,自动加载所有满足条件的学生数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void comboBoxDepartment_SelectedIndexChanged(object sender, EventArgs e)
{
this.LoadDeleteStudents();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -