学生管理系统

本文介绍了使用C#编程语言开发的学生管理系统,包括登录、注册和展示个人信息等功能,构建了一个简洁而实用的欢迎系统。
摘要由CSDN通过智能技术生成

在这里插入图片描述

登录

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;


namespace Login
{
    public partial class frmLogin : Form
    {
        RegForm regFrm;
        frmMain main;
        string userName = "";
        string pwd = "";


        public frmLogin()
        {
            InitializeComponent();
        }
         //btnReg=注册
        private void btnReg_Click(object sender, EventArgs e)
        {
            regFrm = new RegForm();


            //通过this指针 指向弹开的注册页面
            regFrm.FrmLogin = this;

            regFrm.ShowDialog();
            
            userName = regFrm.UserName;
            pwd = regFrm.Pwd;
            
            
            //回收注册页面资源
            //this.regFrm.Close();
        }
           //btnLog=登录
        private void btnLog_Click(object sender, EventArgs e)
        {
            //登录之前需要验证数据有效性
            if (txtUserName.Text.Trim() == "" || txtPwd.Text.Trim() == "")
                //输入的数据有问题
                MessageBox.Show("请输入有效登录信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
            else
            {
                //if (txtUserName.Text.Trim() == this.userName && txtPwd.Text.Trim() == this.pwd)
                //{
                //    MessageBox.Show("登录成功!");
                //}
                //else
                //    MessageBox.Show("登录失败!");



                //连接数据库,并打开
                SqlConnection conn = new SqlConnection();
                conn.ConnectionString = "Data Source=.;Initial Catalog=StudentMIS;Integrated Security=True;";
                
                
                //给这个连接定义要进行的数据读写操作

                //创建用户名参数
                SqlParameter usernamePara = new SqlParameter("@username", SqlDbType.NVarChar, 15);
                usernamePara.Value = txtUserName.Text.Trim();
                //创建密码参数
                SqlParameter pwdPara = new SqlParameter("@pwd", SqlDbType.NVarChar, 60);
                //pwdPara.Value = txtPwd.Text.Trim();
                //MD5加密
                pwdPara.Value = MD5Helper.GetMd5String(txtPwd.Text.Trim());
                string sql = "select * from adminInfo where username = @username and pwd = @pwd";
                //string sql = "select * from adminInfo where username = '"+txtUserName.Text.Trim()+"' and pwd = '"+txtPwd.Text.Trim()+"'";
                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.Parameters.Add(usernamePara);
                cmd.Parameters.Add(pwdPara);
                conn.Open();
                //执行操作,并返回结果
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    //MessageBox.Show("登录成功!");
                    main = new frmMain();
                    main.LoginName = usernamePara.Value.ToString();
                    this.Hide();
                    main.Login_Form = this;
                    main.Show();
                }
                else
                {
                    MessageBox.Show("登录失败!");
                }
                conn.Close();
            }
        }

        //清空表单
        public void ClearForm()
        {
            this.txtPwd.Text = "";
            this.txtUserName.Text = "";
        }

    }
}

在这里插入图片描述

注册

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Login
{
    public partial class RegForm : Form
    {
        public RegForm()
        {
            InitializeComponent();
        }

        string userName;
        string pwd;
        string gender;

        frmLogin frmLogin;

        public frmLogin FrmLogin
        {
            set
            {
                this.frmLogin = value;
            }
        }
        
        //获取用户名
        public string UserName
        {
            get
            {
                return this.userName;
            }
        }
        
        //获取密码
        public string Pwd
        {
            get
            {
                return this.pwd;
            }
        }
                   //btnCancel=取消
        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }
                   //btnOK=确定 btn txtConfirmPwd=确认密码框
                   //txtPwd=密码框  txtUserName=用户名框
                   //radFemale=女 radMale=男
        private void btnOK_Click(object sender, EventArgs e)
        {
            //string userName;
            //string pwd;
            if(CheckRegInfo())//判断
            {
                //userName = txtUserName.Text.Trim();
                //pwd = txtPwd.Text.Trim();
                //if (radFemale.Checked)
                //    gender = "女";
                //else
                //    gender = "男";

                SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=StudentMIS;Integrated Security=True;");

                SqlParameter usernamePara = new SqlParameter("@username", SqlDbType.NVarChar, 15);
                usernamePara.Value = txtUserName.Text.Trim();

                SqlParameter pwdPara = new SqlParameter("@pwd", SqlDbType.NVarChar, 60);
                //pwdPara.Value = txtPwd.Text.Trim();
                pwdPara.Value = MD5Helper.GetMd5String(txtPwd.Text.Trim());

                SqlParameter genderPara = new SqlParameter("@gender", SqlDbType.NVarChar, 1);
                if (radFemale.Checked)
                    genderPara.Value = "女";
                else
                    genderPara.Value = "男";

                string sql = "insert into adminInfo(username,pwd,gender) values(@username,@pwd,@gender)";
                
                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.Parameters.Add(usernamePara);
                cmd.Parameters.Add(pwdPara);
                cmd.Parameters.Add(genderPara);

                conn.Open();
                int i = cmd.ExecuteNonQuery();
                if (i == 1)
                {
                    MessageBox.Show("注册成功!");
                }
                else
                {
                    MessageBox.Show("注册失败!");
                }
                conn.Close();

                this.Hide();
                this.frmLogin.Focus();
               
                //this.Close();
            }
   
           
        }
        //检查注册页面信息是否完整有效
        private bool CheckRegInfo()
        {
            if (String.IsNullOrEmpty(txtUserName.Text.Trim()) || String.IsNullOrEmpty(txtPwd.Text.Trim()) || String.IsNullOrEmpty(txtConfirmPwd.Text.Trim()))
            {

                //判断三个文本框是否填入了有效信息
                MessageBox.Show("请将注册信息补充完整!");
                return false;
            }
            else if (txtPwd.Text.Trim() != txtConfirmPwd.Text.Trim())
            {
                MessageBox.Show("两次输入的密码不一致,请修改!");
                txtConfirmPwd.Text = txtPwd.Text = "";
                txtPwd.Focus();
                return false;
            }
            else if (!radFemale.Checked && !radMale.Checked)
            {
                MessageBox.Show("请选择性别!");
                return false;
            }
            else
                return true;
        }
    }
}

在这里插入图片描述

个人信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Login
{
    public partial class frmUserInfo : Form
    {
        private string loginName;

        public string LoginName
        {
            get
            {
                return this.loginName;
            }
            set
            {
                this.loginName = value;
            }
        }

        public frmUserInfo()
        {
            InitializeComponent();
        }

        private void btnChangePwd_Click(object sender, EventArgs e)
        {
            string oldPwd = "";
            string inputOldPwd = "";


            if (String.IsNullOrEmpty(txtConfirmPwd.Text) || String.IsNullOrEmpty(txtNewPwd.Text) || String.IsNullOrEmpty(txtOldPwd.Text))
            {//判断信息是否完整
                MessageBox.Show("填写完整!");
            }
            else if (txtConfirmPwd.Text != txtNewPwd.Text)
            {//判断密码一致
                MessageBox.Show("两次输入的密码不一致!");
            }
            else
            {
                try//去数据库中查询原来的旧密码
                {
                    SqlDataReader dr = DBHelper.GetReader("select pwd from adminInfo where username ='" + loginName + "'");
                    dr.Read();
                    oldPwd = dr["pwd"].ToString();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                //对界面上输入对原密码进行MD5加密
                inputOldPwd = MD5Helper.GetMd5String(txtOldPwd.Text.Trim());
                //比对输入对原密码加密后和数据库中加密的密码是否一致
                if (oldPwd != inputOldPwd)
                {

                    MessageBox.Show("旧密码不对!");
                }
                else//旧密码也验证通过,则可以修改密码
                {
                    string sql = String.Format("update adminInfo set pwd = '{0}' where username = '{1}'", MD5Helper.GetMd5String(txtNewPwd.Text.Trim()), loginName);
                    //执行sql语句
                    int i = DBHelper.ExecuteCommand(sql);
                    if (i == 1)
                        MessageBox.Show("修改密码成功!");
                    else
                        MessageBox.Show("修改密码失败!");
                }

            }
        }

        

        private void btnSave_Click(object sender, EventArgs e)
        {

        }
              //btnUpdate=修改  btnSave=保存
              //txtConfirmPwd=确认密码框 txtNewPwd=新密码框
              //txtOldPwd=原密码框  txtUserName=用户名框
              //radFemale=女 radMale=男
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            txtConfirmPwd.Enabled = true;
            txtNewPwd.Enabled = true;
            txtOldPwd.Enabled = true;
            txtUserName.Enabled = true;
            radFemale.Enabled = true;
            radMale.Enabled = true;
            btnSave.Enabled = true;
            btnUpdate.Enabled = false;
        }

        private void frmUserInfo_Load(object sender, EventArgs e)
        {
            txtUserName.Text = LoginName;
            DataTable dt = getLoginUserInfo(this.loginName);
            DataRow dr = dt.Rows[0];
            string gender = dr["gender"].ToString();
            if (gender == "男")
                radMale.Checked = true;
            else
                radFemale.Checked = true;
        }

        public DataTable getLoginUserInfo(string username)
        {
            string sql = "select * from adminInfo where username = '" + username + "'";
            return DBHelper.GetDataSet(sql);
        }

    }
}

在这里插入图片描述

欢迎系统

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Login
{
    public partial class frmMain : Form
    {
        frmUserInfo userInfo_form;
        frmLogin login_form;

        public frmLogin Login_Form
        {
            get
            {
                return this.login_form;
            }
            set
            {
                this.login_form = value;
            }
        }

        private string loginName;

        public string LoginName
        {
            get
            {
                return this.loginName;
            }
            set
            {
                this.loginName = value;
            }
        }

        public frmMain()
        {
            InitializeComponent();
        }

        private void frmMain_Load(object sender, EventArgs e)
        {
           
            string sql = "select * from studentInfo";
            DataTable dt = DBHelper.GetDataSet(sql);
            gvStudentInfo.DataSource = dt;
           
        }

        

        private void 查看修改个人信息UToolStripMenuItem_Click(object sender, EventArgs e)
        {
            userInfo_form = new frmUserInfo();
            userInfo_form.LoginName = LoginName;
            userInfo_form.ShowDialog();
        }

        private void 注销XToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Login_Form.ClearForm();
            this.Login_Form.Show();
     
            this.Close();

        }

        /// <summary>
        /// 这个是按学号来精确查询
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSearch_Click(object sender, EventArgs e)
        {
            先取出要精确查询的学号
            //string sno = txtSearch.Text.Trim();
            编写对应的sql语句
            //string sql = "select * from StudentInfo where Sno='" + sno + "'";
            //先取出要模糊查询的学号
            string sno = txtSearch.Text.Trim();
            //编写模糊查询对应的sql语句
            string sql = "select * from StudentInfo where Sno like '%" + sno + "%'";
            //执行sql语句
            DataTable dt = DBHelper.GetDataSet(sql);
            //查看结果
            gvStudentInfo.DataSource = dt;
        }
             //gvStudentInfo=数据框 btnSearch=查询 txtSearch=查询框
             //txtSno=学号框 txtSname=姓名框 cmbSgender=性别框 
             //txtSclass=班级框 btnUpdate=修改 btnSave=保存
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            txtSname.Enabled = true;
            txtSclass.Enabled = true;
            txtSno.Enabled = true;
            cmbSgender.Enabled = true;
        }

        /// <summary>
        /// 单击表格选中某行数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gvStudentInfo_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex >= 0)//说明不是表头
            {
                txtSno.Text = gvStudentInfo.Rows[e.RowIndex].Cells[0].Value.ToString();
                txtSname.Text = gvStudentInfo.Rows[e.RowIndex].Cells[1].Value.ToString();
                txtSclass.Text = gvStudentInfo.Rows[e.RowIndex].Cells[3].Value.ToString();
                string gender = gvStudentInfo.Rows[e.RowIndex].Cells[2].Value.ToString();

            }
            else
            {
            }

        }

        
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值