一、运行环境windows,使用vs编译软件

二、主要功能
登录、添加学生信息、修改学生信息、删除学生信息、查询学生信息
三、实现步骤
1、登陆界面功能实现
老规矩,先贴下主要代码:

     //构造方法public Login(){InitializeComponent();this.label3.Parent = this;this.label1.BackColor = Color.Transparent;this.label2.BackColor = Color.Transparent;this.label3.BackColor = Color.Transparent;this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;}//对登录按钮的事件实现代码private void button1_Click(object sender, EventArgs e){string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString();SqlConnection conn = new SqlConnection(ss);try{//开启连接           conn.Open();           // MessageBox.Show("数据库连接成功!");           }catch (Exception){//MessageBox.Show("数据库连接失败!");}         String uname = txtName.Text.Trim();string pword = txtPass.Text.Trim();if(uname == ""|| pword == ""){MessageBox.Show("请输入用户名或密码!");return;}else{SqlCommand cmd = conn.CreateCommand();SqlDataAdapter adp = new SqlDataAdapter();string sql2 = "select * from account where name='"+ uname + " 'and pass='" + pword + " ' ";cmd.CommandText = sql2;adp.SelectCommand = cmd;DataSet dat = new DataSet();adp.Fill(dat, "account");if(dat.Tables["account"].Rows.Count == 0){MessageBox.Show("用户名或密码错误!");return;}else{Form1.isLogin = true;Form1.username = this.txtName.Text;this.Close();}cmd.Clone();}conn.Close();}//实现按ESC键关闭该窗口protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData){switch (keyData){case Keys.Escape:this.Close();//esc关闭窗体break;}return false;}//重置按钮清空文本框private void button2_Click(object sender, EventArgs e){txtName.Text = "";txtPass.Text = "";}     //密码输入完成后实现敲击enter键触发登录按钮private void txtPass_KeyDown(object sender, KeyEventArgs e){if(e.KeyCode == Keys.Enter){this.button1_Click(sender, e);}}//实现按enter键使焦点转移到下一文本框,与tab键通用private void txtName_KeyPress(object sender, KeyPressEventArgs e){if (e.KeyChar == (char)Keys.Enter){SendKeys.Send("{tab}");}}

效果如下图:

2、主界面功能实现
主要代码如下:

     public static bool isLogin = false;int id;SqlConnection conn;SqlCommand cmd;SqlDataAdapter adp;DataSet dat;public static string username{get;set;}public Form1(){InitializeComponent();this.label1.BackColor = Color.Transparent;this.groupBox1.BackColor = Color.Transparent;this.groupBox2.BackColor = Color.Transparent;this.dataGridView1.BorderStyle = BorderStyle.None;this.dataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.None;this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;this.Text += "| 管理员:" + username;string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString();//建立数据库连接conn = new SqlConnection(ss);try{//开启连接           conn.Open();// MessageBox.Show("数据库连接成功!");           }catch (Exception){MessageBox.Show("数据库连接失败!");}}private void Form1_Load(object sender, EventArgs e){DataGridViewDataLoad();//this.stu_dentTableAdapter.Fill(this.students.Stu_dent);}private void DataGridViewDataLoad(){String sql1 = "select * from Stu_dent";adp = new SqlDataAdapter(sql1,conn);dat = new DataSet();adp.Fill(dat);dataGridView1.DataSource = dat.Tables[0];}private void button5_Click(object sender, EventArgs e){string num = textBox1.Text.Trim();string name = textBox2.Text.Trim();String sql4 = "Select * from Stu_dent where 1=1";if(!String.IsNullOrEmpty(num)){sql4 += " and StuNum=" + num;}if(!String.IsNullOrEmpty(name)){sql4 += " and StuName like '%" + name + "%'";}adp = new SqlDataAdapter(sql4, conn);dat = new DataSet();adp.Fill(dat);dataGridView1.DataSource = dat.Tables[0];}protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData){switch (keyData){case Keys.Escape:this.Close();//esc关闭窗体break;}return false;}private void button1_Click(object sender, EventArgs e){AddStudent addStudent = new AddStudent();addStudent.StartPosition = FormStartPosition.CenterScreen;//addStudent.Show();addStudent.ShowDialog();DataGridViewDataLoad();}private void button4_Click(object sender, EventArgs e){this.Close();}private void button2_Click(object sender, EventArgs e){MessageBox.Show("请在学生信息显示框中双击所要删除学生所在的那一行即可!!!","提示");}private void button3_Click(object sender, EventArgs e){MessageBox.Show("请在学生信息显示框中单击所要删修改学生所在的那一行的任意文字区域即可!", "提示");}private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e){DialogResult result = MessageBox.Show("确定删除该学生信息?", "删除", MessageBoxButtons.OKCancel);if(result == DialogResult.OK){id = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value);Console.WriteLine(id);string sql2 = "delete from Stu_dent where ID=" + id;cmd = new SqlCommand(sql2, conn);cmd.ExecuteNonQuery();}DataGridViewDataLoad();}private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e){id = Convert.ToInt32(this.dataGridView1.Rows[e.RowIndex].Cells[0].Value);UpdateStudent updatestudent = new UpdateStudent(id);updatestudent.StartPosition = FormStartPosition.CenterScreen;updatestudent.ShowDialog();DataGridViewDataLoad();}

效果如下:

3、添加学生信息功能实现
主要代码如下:

public AddStudent(){InitializeComponent();this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString();//建立数据库连接conn = new SqlConnection(ss);try{//开启连接           conn.Open();// MessageBox.Show("数据库连接成功!");           }catch (Exception){MessageBox.Show("数据库连接失败!");}}private void AddStudent_Load(object sender, EventArgs e){}private void label1_Click(object sender, EventArgs e){}protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData){switch (keyData){case Keys.Escape:this.Close();//esc关闭窗体break;}return false;}private void button1_Click(object sender, EventArgs e){string StuNum = textBox1.Text.Trim();string StuName = textBox2.Text.Trim();int StuAge;Int32.TryParse(textBox3.Text.Trim(), out StuAge);string StuClass = textBox5.Text.Trim();string StuPhone = textBox6.Text.Trim();string StuSex = radioButton1.Checked ? "男" : "女";if (String.IsNullOrEmpty(StuNum)){MessageBox.Show("学号不能为空!");}if (String.IsNullOrEmpty(StuName)){MessageBox.Show("姓名不能为空!");}if (String.IsNullOrEmpty(StuClass)){MessageBox.Show("班级不能为空!");}if (String.IsNullOrEmpty(StuPhone)){MessageBox.Show("联系方式不能为空!");}string sql = string.Format("insert into Stu_dent values ('{0}','{1}','{2}','{3}','{4}','{5}')", StuNum, StuName,StuAge,StuSex, StuClass, StuPhone );cmd = new SqlCommand(sql, conn);int count = cmd.ExecuteNonQuery();if (count > 0){MessageBox.Show("添加成功!");}else{MessageBox.Show("添加失败!");}this.Close();}


4、删除学生信息功能实现
在这里采用双击所要删除学生所在的那一行的任意位置即可
主要代码如下:

private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e){DialogResult result = MessageBox.Show("确定删除该学生信息?", "删除", MessageBoxButtons.OKCancel);if(result == DialogResult.OK){id = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells[0].Value);Console.WriteLine(id);string sql2 = "delete from Stu_dent where ID=" + id;cmd = new SqlCommand(sql2, conn);cmd.ExecuteNonQuery();}DataGridViewDataLoad();}

效果如下图(双击第一行进行删除):
删除前:

删除后:

5、修改学生信息功能实现
在这里采用单击所要修改学生所在行任意文字处即可
主要代码如下:

public UpdateStudent(int id){this.id = id;string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString();conn = new SqlConnection(ss);try{//开启连接           conn.Open();// MessageBox.Show("数据库连接成功!");           }catch (Exception){MessageBox.Show("数据库连接失败!");}InitializeComponent();this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;}protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData){switch (keyData){case Keys.Escape:this.Close();//esc关闭窗体break;}return false;}private void UpdateStudent_Load(object sender, EventArgs e){cmd = conn.CreateCommand();string sql1 = "select * from Stu_dent where ID=" + id;cmd.CommandText = sql1;reader = cmd.ExecuteReader();if(reader.HasRows){reader.Read();textBox1.Text = reader.GetString(1);textBox2.Text = reader.GetString(2);textBox3.Text = reader.GetInt32(3).ToString();if(reader.GetString(4) == "男"){this.radioButton2.Checked = true;}else{this.radioButton1.Checked = true;}textBox5.Text = reader.GetString(5);textBox6.Text = reader.GetString(6);}reader.Close();}private void button1_Click(object sender, EventArgs e){string StuNum = textBox1.Text.Trim();string StuName = textBox2.Text.Trim();int StuAge;Int32.TryParse(textBox3.Text.Trim(), out StuAge);string StuClass = textBox5.Text.Trim();string StuPhone = textBox6.Text.Trim();string StuSex = radioButton1.Checked ? "男" : "女";if (String.IsNullOrEmpty(StuName)){MessageBox.Show("姓名不能为空!");}if (String.IsNullOrEmpty(StuClass)){MessageBox.Show("班级不能为空!");}if (String.IsNullOrEmpty(StuPhone)){MessageBox.Show("联系方式不能为空!");}string sql = string.Format("update Stu_dent set StuName='{0}',StuAge={1},StuSex='{2}',StuClass='{3}',StuPhone='{4}' where StuNum='{5}'", StuName, StuAge, StuSex, StuClass, StuPhone, StuNum);cmd = new SqlCommand(sql, conn);int count = cmd.ExecuteNonQuery();if (count > 0){MessageBox.Show("修改成功!");}else{MessageBox.Show("修改失败!");}this.Close();}private void button2_Click(object sender, EventArgs e){cmd = conn.CreateCommand();string sql1 = "select * from Stu_dent where ID=" + id;cmd.CommandText = sql1;reader = cmd.ExecuteReader();if (reader.HasRows){reader.Read();textBox1.Text = reader.GetString(1);textBox2.Text = reader.GetString(2);textBox3.Text = reader.GetInt32(3).ToString();if (reader.GetString(4) == "男"){this.radioButton2.Checked = true;}else{this.radioButton1.Checked = true;}textBox5.Text = reader.GetString(5);textBox6.Text = reader.GetString(6);}reader.Close();}

(在这里将郭某某的专业班级为例)
修改前:

修改后:

6、查询学生信息功能实现
查询功能就写了两种查询方式
主要代码如下:

private void button5_Click(object sender, EventArgs e){string num = textBox1.Text.Trim();string name = textBox2.Text.Trim();String sql4 = "Select * from Stu_dent where 1=1";if(!String.IsNullOrEmpty(num)){sql4 += " and StuNum=" + num;}if(!String.IsNullOrEmpty(name)){sql4 += " and StuName like '%" + name + "%'";}adp = new SqlDataAdapter(sql4, conn);dat = new DataSet();adp.Fill(dat);dataGridView1.DataSource = dat.Tables[0];}

效果如下:
按学号查询:

按姓名查询:

总结:这是上完c#课后,自己无聊整着玩的,功能实现简单易懂,比较容易,希望能对你的学习有所帮助。对了,每个窗体的背景图片是我再网上随便找的,你可以选择你喜欢的背景。
https://download.csdn.net/download/yang_shuai_/12911668

c#实现简单学生信息管理系统相关推荐

  1. 用python制作一个学生信息管理软件_python实现简单学生信息管理系统

    python简单的学生信息管理系统-文件版,供大家参考,具体内容如下 功能如下 主函数部分 增加学生信息 修改学生信息 删除学生信息 查询学生 显示所有学生的信息 将数据录入文件 读取文件数据 学习文 ...

  2. jsp mysql简单仓库信息管理系统_基于jsp+mysql的JSP简单学生信息管理系统

    运行环境: 最好是java jdk 1.8,我们在这个平台上运行的.其他版本理论上也可以. IDE环境: Eclipse,Myeclipse,IDEA都可以 tomcat环境: Tomcat 7.x, ...

  3. 双链表嵌套的简单学生信息管理系统

    参考:实现双链表嵌套的简单学生信息管理 作者:三速何时sub20 发布时间: 2020-07-20 10:44:40 网址:https://blog.csdn.net/weixin_44234294/ ...

  4. Java简单学生信息管理系统

    JAVA简单写学生信息管理系统,实现学生信息的输入.查询.修改.删除操作 package Week;import jdk.internal.util.xml.impl.Input;import jav ...

  5. 基于GUI+MySQL技术的简单学生信息管理系统

    简单的学生信息管理系统 1. 需求分析 1.1 系统总体分析 1.2 用户系统分析 2. 课题及任务功能描述 2.1 课题研究背景 2.2 功能描述 3. 总体设计 3.1 系统总体设计 3.2 系统 ...

  6. Java——Web开发之MVC设计模式的学生信息管理系统(二)

    为什么这个标题为"(二)",其实是对于上一个特别简单学生信息管理系统里功能的完善. 所谓的"(一)"在这:学生信息管理系统(一) 系统实现的功能: 实现添加学生 ...

  7. php编写一个学生类_PHP实现简单的学生信息管理系统(web版)

    (∩_∩) 1.概述 学了php的一些基础,包括HTML,php,pdo,mysql操作等,一直都没有将它们有机结合.最近写了一个简单的网页版学生信息管理系统,前台用HTML,脚本用到了JavaScr ...

  8. 用python设计学生管理系统_基于python和tkinter实现的一个简单的学生信息管理系统...

    一个简单的学生信息管理系统基于python和tkinter 1.需求分析1.大学生信息管理系统使用tkinter接口创建一个窗口.使界面更漂亮.2. 实现与数据库的连接,教师和学生的信息可以保存或读取 ...

  9. python成绩管理系统设计 gui csdn_用golang简单编写学生信息管理系统

    用golang简单编写学生信息管理系统 发布时间:2020-09-04 11:45:16编辑:三青(参考七米老师的视频)查看次数:187 student.gopackage main import & ...

  10. 复习Java第一个项目学生信息管理系统 04(权限管理和动态挂菜单功能) python简单爬数据实例Java面试题三次握手和四次挥手生活【记录一个咸鱼大学生三个月的奋进生活】016

    记录一个咸鱼大学生三个月的奋进生活016 复习Java(学生信息管理系统04权限管理和动态挂菜单功能) 改写MainFrame的构造方法 新增LoginFrame的验证登录是否成功的代码 新增Logi ...

最新文章

  1. anaconda有什么用?pycharm有什么用?anaconda怎么与pycharm一起联合使用?
  2. 把共享库(SO)加载到指定的内存地址
  3. 解密谷歌机器学习忍者项目,如此培养人工智能人才
  4. java死循环_java小白关于while死循环时处理办法的一发求助帖
  5. qml自定义switch_QML官方系列教程——Qt Quick Controls Styles
  6. 灯泡四个闪烁c语言程序设计教程课后答案,c语言编程题及答案4.doc
  7. ADC知识(2)——直流参数(输入电压参考,参考电流输入,积分非线性误差,差分非线性误差)...
  8. 使用Git初始化项目时操作
  9. Zabbix 优缺点分别有哪些?
  10. vagrant虚拟机网络设置
  11. 大数据——python爬虫
  12. 家庭局域网_如何查看局域网内所有ip?
  13. 怎么把优酷的kux格式转换成avi格式
  14. web前端基础——媒体查询
  15. 文字图片白底黑字_白底黑字简短文字图片 白底黑字纯简短文字
  16. linux中etc目录的英文全称
  17. 北京软件项目外包流程及管理
  18. linux远程登录maridb,linux – 无法使用phpMyAdmin登录到远程MariaDB服务器,但在shell中工作...
  19. excel——设置单元格格式
  20. android多看阅读打不开pdf,请收藏!这是一份最全的PDF问题解决方案

热门文章

  1. 大数据 TXT文本去重 TXT文本排序 TXT文本提取 TXT文本对比分离 TXT文件求并集 TXT文件求交集 TXT文件求补集 软件 工具
  2. 屏幕演示讲解必备工具:虚拟教棒、屏幕画笔、ZoomIt放大屏幕、鼠标探照灯(图)
  3. 嵌入式系统那些事—脚本语言tcl
  4. 2020过去了,我们想给那些病毒和劫持软件颁个奖……
  5. Linux的初学者写代码基本步骤(make、gcc和gdb)
  6. TOGAF9企业架构规划与设计学习考试经验简记
  7. java.lang.NoClassDefFoundError: Could not initialize class org.apache.batik.bridge.CursorManager
  8. 一文讲清楚ojdbc、Oracle和JDK之间的兼容性关系
  9. 油猴脚本管理器使用指南
  10. 【Matlab系列】Matlab语言基础知识汇总