C#实现简单学生信息管理系统

本文实例为大家分享了C#实现简单学生信息管理系统的具体代码,供大家参考,具体内容如下

一、运行环境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#课后,自己无聊整着玩的,功能实现简单易懂,比较容易,希望能对你的学习有所帮助。对了,每个窗体的背景图片是我再网上随便找的,你可以选择你喜欢的背景。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C#图书管理系统 附源码下载

    用来练手还是不错的,分享大家看一下,还是一些新颖点的   !哈哈 就是自定义DataGridView,方便每个功能部分调用!简单!再次重申!!!后面源码会送上! 首先看一下登录,上图吧! 只有超级管理员跟管理员 接下来看一下主界面 更改DataGridView数据列 datagridView自定义类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.

  • C#实现餐饮管理系统完整版

    完整版的C#餐饮管理系统,供大家一起共同分享学习. 部分代码: Dataoperator.cs using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.We

  • C#实现餐饮管理系统

    本文实例为大家分享了C#实现餐饮管理系统的具体代码,供大家参考,具体内容如下 此系统采用C#语言的Winfrom和ADO.NET技术搭建的简单的CS系统. 部分代码: frmBook.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;

  • C#实现餐厅管理系统

    本文实例为大家分享了C#实现餐厅管理系统的具体代码,供大家参考,具体内容如下 部分代码: fm_change_password.cs 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;

  • C#实现简单学生信息管理系统

    本文实例为大家分享了C#实现简单学生信息管理系统的具体代码,供大家参考,具体内容如下 一.运行环境windows,使用vs编译软件 二.主要功能 登录.添加学生信息.修改学生信息.删除学生信息.查询学生信息 三.实现步骤 1.登陆界面功能实现 老规矩,先贴下主要代码: //构造方法 public Login() { InitializeComponent(); this.label3.Parent = this; this.label1.BackColor = Color.Transparent

  • python实现简单学生信息管理系统

    python简单的学生信息管理系统-文件版,供大家参考,具体内容如下 功能如下 主函数部分 增加学生信息 修改学生信息 删除学生信息 查询学生 显示所有学生的信息 将数据录入文件 读取文件数据 学习文件模块后,将之前做的学生信息管理系统添加文件模块. 功能如下 1.新增学生信息: 2.修改学生信息: 3.删除学生信息: 4.查询学生信息: 5.显示学生信息; 6.将数据录入文件: 7.读取文件数据: 8.退出系统. 主函数部分 这里定义一个列表L,用来存储学生信息. 增加学生信息 将学生信息保存

  • Java实现简单学生信息管理系统

    最近在学习Java,所以写了个学生信息管理系统,话不多说,上代码. Student.java: package com.mumu; public class Student { //定义学生类 private String name; private String age; private String id; private String room_num; private int math; private int english; private int physic; public St

  • C语言实现简单学生信息管理系统

    学生信息管理系统的功能有,也可以自己增加或者改进一些函数功能. 在main函数里调用这8个函数 学生信息包含姓名.年龄.学号.成绩,需要定义一个结构体(结构体是全局变量,所以需要全局声明): typedef struct _student{     char name[20];     int age;     int stuNum;     int score; }student; 需要有一个存储数据的空间,所以使用单链表存储,定义如下: typedef struct _Node{     s

  • java实现简单的学生信息管理系统代码实例

    java实现简单的学生信息管理系统(无界面) 学生类实体: package com.edu.imau.wcy; public class Stu { private String stuNum;//学号 private String name;//姓名 private String gender;//性别 private int age;//年龄 private int score;//分数 public Stu() { super(); } public String getStuNum()

  • 基于VUE实现简单的学生信息管理系统

    一.主要功能 本次任务主要是使用VUE来实现一个简单的学生信息管理系统,主要功能为: 1.显示所有学生的信息(默认为10个) 2. 点击按钮,显示出学号尾号为单数(或双数)的学生信息 3. 增加学生信息 4. 要求使用VUE中 父子组件间通信 二.实现思路 1.数据管理:使用json数组的方式来管理储存数据 2.显示学生信息:因为组件是可复用的 Vue 实例,所以在这里引入子组件(用来显示每个学生的信息),将主页作为父组件.主页(父组件)使用v-for循环显示子组件. 3.按单双号筛选查找学生:

  • Python实现简单的学生信息管理系统

    本文实例为大家分享了Python实现学生信息管理系统的具体代码,供大家参考,具体内容如下 要求描述: 学生的信息包括:学号,姓名,年龄,性别,出生日期,地址,电话,E-mail等等.试设计一个学生信息管理系统,使之能提供一下基本功能: 系统以菜单方式工作 学生信息录入功能(学生信息用文件保存)--- 输入 学生信息浏览功能 --- 输出 查询.排序功能 --- 算法 1. 按学号查询2. 按姓名查询 学生信息的删除与修改(可选项) 基本思路同之前写的那篇图书借阅系统,在此就不多赘述. 直接上代码

  • C++实现简单的信息管理系统

    本文为大家分享C++实现简单的信息管理系统,小编之前在学习的时候也要做一些管理系统,在网上查了许多资料,现在我把资料分享给大家,希望能够帮助到大家. #include <stdio.h> #include <stdlib.h> #include "file.h" void savaList(Node *head)/**把用户录入的数据存储到文件里面去方便下次读取*/ { FILE *fp=fopen("data\\data.txt" ,&qu

  • Winform学生信息管理系统登陆窗体设计(1)

    对这块的知识学习早已期待已久,感觉学习的进度还是慢了,最近一直在学习Winform,不得不说一些登陆窗体的设计,这几天算是小有收获,自己也看了许多这方面的知识,知道了要想做学生信息管理系统是一个漫长的过程,但是从今天起就来慢慢地进行学生信息管理系统的构建,此外还用到数据库的知识,打算着自己开始学数据库的知识,今天就来看看学生信息管理系统登录窗口的设计.下面图片的是样例: 这方面的知识还是基于C#语言和.NET Framework平台的.自己所用的还是熟悉的开发环境VS2012,感觉VS2013和

  • javaWeb实现学生信息管理系统

    本文为大家分享了javaWeb实现学生信息管理系统,供大家参考,具体内容如下 初始版 初始版是没有加分页的.因为没怎么学过前端,界面很丑陋.主要技术:JSP,JavaBean,servlet,JDBC主要页面如下: 登录页面 主页 添加学生 查看所有学生 查询学生 工程目录 数据库 两个表,user表和student表.为了使用DBUtils工具,一定要注意数据库表的属性的命名和JavaBean的get(),set() 方法的匹配.比如t_user表里的uname,在JavaBean中是:pri

随机推荐