VS2022+C#+Sql Server实现一个简单的学生信息管理系统(登录注册、增删改查)二

首先创建一个主页窗口,管理员登录后跳转至主页,这里用到的组件有:菜单组件和导航栏

1.新增功能实现:这里仍旧是通过点击事件实现页面跳转

FormInserStu.cs功能实现代码如下:

 private void btnAdd_Click(object sender, EventArgs e)
 {
     string stuNo = txtStuNo.Text;
     string stuName = txtStuName.Text;
     string age = txtStuAge.Text;
     string sex = cobStuSex.Text;
     string grade = cobStuGrade.Text;
     string zhuanye = txtStuZhuan.Text;
     //新增sql语句
     string sql = $"insert  into dbo.tbl_student values('{stuNo}','{stuName}','{age}','{sex}','{grade}','{zhuanye}')";
     if (DBHelper.ExecuteSql(sql))
     {
         //注册成功
         MessageBox.Show("添加成功", "消息", MessageBoxButtons.OK, MessageBoxIcon.Information);
         this.Hide();
     }
     else
     {
         //反之失败
         MessageBox.Show("添加失败,请重新操作");
     }
 }

 private void btnReturn_Click(object sender, EventArgs e)
 {
     this.Close();
 }

2.学生信息列表展示、列表行信息选中展示功能实现如下:

学生信息列表展示实现过程,主要是设置select语句调用DBHelper的执行检查方法GetDataReader(),将数据表中数据全部加载至表格中,刷新功能也可通过调用LoadStu()方法来实现,实现如下:

private void LoadStu()
{
    dgvStu.Rows.Clear();
    //查找全部信息sql语句
    string sql = "select * from dbo.tbl_student;";
    SqlDataReader reader = DBHelper.GetDataReader(sql);
    while (reader.Read())
    {
        dgvStu.Rows.Add(reader[0].ToString(), reader[1].ToString(), reader[2].ToString(),
            reader[3].ToString(), reader[4].ToString(), reader[5].ToString());
    }
    reader.Close();
}
private void FormManage_Load(object sender, EventArgs e)
{
    //将数据表中学生信息加载至表格中
    LoadStu();
}
//刷新功能

 private void btnUpdate_Click(object sender, EventArgs e)
 {
     LoadStu();
 }

3.搜索功能:通过模糊查询实现,设置文本框名称为key,根据输入内容通过模糊查询语句查询数据表信息,实现如下:

private void btnSearch_Click(object sender, EventArgs e)
{
    //获取关键字
    string key = txtKeyNo.Text;
    //根据关键字进行模糊查询
    string sql = $"select * from dbo.tbl_student where stuNo like '{key}' or stuName like '{key}'";
    //显示结果
    SqlDataReader reader = DBHelper.GetDataReader(sql);
    //清空表格
    dgvStu.Rows.Clear();
    //搜索结果再表格中显示
    while (reader.Read())
    {
        dgvStu.Rows.Add(reader[0].ToString(), reader[1].ToString(), reader[2].ToString(),
            reader[3].ToString(), reader[4].ToString(), reader[5].ToString());
    }
    reader.Close();

}

4.点击表格某列数据可以显示当前选中的数据,便于删除和编辑查看操作,实现如下:

private void dgvStu_CellClick(object sender, DataGridViewCellEventArgs e)
{
    //当点击表格中数据便会触发事件
    if (dgvStu.CurrentRow == null || dgvStu.CurrentRow.Cells[0].Value == null)
    {
        MessageBox.Show("选中了无效数据!");
        return;
    }
    string id= dgvStu.CurrentRow.Cells[0].Value.ToString();//当前选中的学生编号
    string name= dgvStu.CurrentRow.Cells[1].Value.ToString();//当前选中的学生姓名

    lbNo.Text = id;
    lbName.Text = name;

    //用于编辑的字段赋值
    sNo = dgvStu.CurrentRow.Cells[0].Value.ToString();
    sName = dgvStu.CurrentRow.Cells[1].Value.ToString();
    sAge = int.Parse(dgvStu.CurrentRow.Cells[2].Value.ToString());
    sSex = dgvStu.CurrentRow.Cells[3].Value.ToString();
    sGrade = dgvStu.CurrentRow.Cells[4].Value.ToString();
    sZhuanye = dgvStu.CurrentRow.Cells[5].Value.ToString();

}

5.删除功能实现如下:

//删除功能
private void btnDel_Click(object sender, EventArgs e)
{
    //获取当前选中的数据--lbName
    string stuName = this.lbName.Text;
    if (stuName == "NULL")
    {
        MessageBox.Show("未选中数据,请选择数据再进行操作!");
        return;
    }
    //删除选中数据-sql语句
    string sql = $"delete from dbo.tbl_student where stuName='{stuName}'";
    /*SqlDataReader reader = DBHelper.GetDataReader(sql);*/
    if (DBHelper.ExecuteSql(sql))
    { 
        //删除后更新表格数据
        lbName.Text = "NULL";
        lbNo.Text = "NULL";
        //选中表示变回空值
        LoadStu();
    }
    else
    {
        MessageBox.Show("删除失败,请重新操作!");
    }
}

6.编辑用户信息功能实现,选中某行数据,通过点击编辑按钮事件跳转到编辑窗口,进行编辑操作,在信息编辑完成后返回列表页并刷新表格,实现过程如下:

首先创建编辑FormEdit.cs类并设计窗口,为了实现编辑内容提交后关闭窗口并返回上级窗口,故定义一个委托,在上级窗口FormManage.cs(列表页)中调用该委托。

 public partial class FormEdit : Form
 {
     public FormEdit()
     {
         InitializeComponent();
     }
     //实现编辑窗体关闭后返回至列表窗口--委托
     //定义一个委托
     public delegate void Save();
     //定义时间
     public event Save OnSave;
  
     private void btnEdit_Click(object sender, EventArgs e)
     {

         string sql = $"update dbo.tbl_student set stuNo='{txtStuNo.Text}',stuName='{txtStuName.Text}',age='{txtStuAge.Text}',sex='{cobStuSex.Text}',grade='{cobStuGrade.Text}',zhuanye='{txtStuZhuan.Text}' where stuName='{FormManage.sName}'";
        /* string sqlUpdate= "select * from dbo.tbl_student;";*/
         if (DBHelper.ExecuteSql(sql))
         {
             /*this.Close();*/
             MessageBox.Show("编辑成功!");
             //编辑成功后返回列表页
             /*FormEdit formEdit = new FormEdit(this);*/
             /* this.Hide();*/
             this.Close();
             //关闭页面时执行上面定义的事件
             OnSave();
         }
         else
         {
             MessageBox.Show("编辑失败,请重新操作!");
         }
     }

     private void btnReturn_Click(object sender, EventArgs e)
     {
         this.Close();
         /*if (TextBoxChanged != null)
         {
             TextBoxChanged(this, e);
         }*/
     }

     private void txtStuName_TextChanged(object sender, EventArgs e)
     {

     }

     private void FormEdit_Load(object sender, EventArgs e)
     {
         /*string stuNo = txtStuNo.Text;
         string stuName = txtStuName.Text;
         string stuAge = txtStuAge.Text;
         string stuSex = cobStuSex.Text;
         string stuGrade = cobStuGrade.Text;
         string stuZhuan = txtStuZhuan.Text;*/
         txtStuNo.Text = FormManage.sNo;
         txtStuName.Text = FormManage.sName;
         txtStuAge.Text = FormManage.sAge.ToString();
         cobStuSex.Text = FormManage.sSex;
         cobStuGrade.Text = FormManage.sGrade;
         txtStuZhuan.Text = FormManage.sZhuanye;
     }
 }

在FormManage.cs中调用编辑功能定义的窗体页面:


        private void btnEdit_Click(object sender, EventArgs e)
        {
            FormEdit formEdit = new FormEdit();
            //订阅编辑功能中定义的事件
            formEdit.OnSave += new FormEdit.Save(f_OnSave);

            formEdit.ShowDialog();
            /*this.Hide();*/
            /*formEdit.TextBoxChanged+=new EventHandler(
                (sender,e))*/
        }
        void f_OnSave()
        {
            /*btnEdit.Text = "New";*/
            LoadStu();

        }

综上,一个简单的基于c#的学生信息管理系统便实现了。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值