【C#】基于C#和MySQL的简单学生信息管理系统设计

现需要完成一个简单学生信息管理系统的设计。具体要求如下。

(1)界面要求

运行程序的主界面如下所示:
在这里插入图片描述
录入信息后的效果:
在这里插入图片描述
各种系统提示:
在这里插入图片描述
在这里插入图片描述
(2)实现步骤

  1. 创建Mysql数据库StudentDB(SQL源码见后文,数据均为虚构)

  2. 添加学生信息表Stud,各字段要求如下。
    在这里插入图片描述

  3. 设计窗体功能:
    · 主界面按效果图添加相应控件与布局
    · 默认打开窗体后查询所有学生信息
    · 点击增加按钮能正确的查询插入一条学生信息并弹出对应提示信息,同时刷新DataGridView数据控件。
    · DataGridView控件选中一行后点击删除按钮可以正确删除该条学生信息并弹出对应提示信息,同时刷新DataGridView数据控件。

【SQL源码】

CREATE DATABASE IF NOT EXISTS `studentdb`;
USE `studentdb`;

CREATE TABLE IF NOT EXISTS `stud` (
  `sno` char(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  `className` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `sname` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `birth` date DEFAULT NULL,
  `tel` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  PRIMARY KEY (`sno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

INSERT INTO `stud` (`sno`, `className`, `sname`, `sex`, `birth`, `tel`, `address`) VALUES
	('20210001', '通讯211', '韩光', '男', '2001-05-29', '15311431235', '湖北荆州'),
	('20210002', '电子212', '李响', '女', '2002-10-08', '13917892341', '河北邢台'),
	('20210003', '通讯211', '刘晓丽', '女', '2001-10-21', '17318792113', '山西榆次');

【窗体设计】
在这里插入图片描述
【MainForm.cs】

/*
 * 作者:JeronZhou
 * 时间:2021-11-01
 * 功能:简单学生信息管理系统
 */

using System;
using System.Data;
using MySql.Data.MySqlClient;
using System.Windows.Forms;

namespace Teat2_3
{
	public partial class MainForm : Form
	{
		public MainForm()
		{
			InitializeComponent();
		}
		void MainFormLoad(object sender, EventArgs e)
		{
			string Connection = "data source=localhost;database=studentdb;user id=用户名;password=密码;pooling=true;charset=utf8;";
        	using(MySqlConnection msc = new MySqlConnection(Connection))
        	{
        		msc.Open();
            	string sql = "select * from stud;";
                MySqlCommand cmd = new MySqlCommand(sql, msc);
                MySqlDataAdapter adapt = new MySqlDataAdapter();
                adapt.SelectCommand = cmd;
                DataSet dataset = new DataSet();
                adapt.Fill(dataset, "table");
                dataGridView1.DataSource = dataset.Tables["table"];
                cmd.ExecuteNonQuery();
                msc.Close();       	
        	}
		}
		void Button1Click(object sender, EventArgs e)
		{
            string Sno, ClassName, Sname, Sex, Birth, Tel, Address;
            string Connection = "data source=localhost;database=studentdb;user id=用户名;password=密码;pooling=true;charset=utf8;";
            using(MySqlConnection msc = new MySqlConnection(Connection))
            {
            	Sno = textBox1.Text;
            	ClassName = comboBox1.Text;
            	Sname = textBox2.Text;
            	Sex = "";
            	if(radioButton1.Checked)
            	{
            		Sex = radioButton1.Text;
            	}
            	else if(radioButton2.Checked)
            	{
            		Sex = radioButton2.Text;
            	}
            	Birth = dateTimePicker1.Text;
            	Tel = textBox3.Text;
            	Address = textBox4.Text;
            	
            	msc.Open();
            	string sql1 = "INSERT INTO stud values('" + Sno + "','" + ClassName + "','" + Sname + "','" + Sex + "','" + Birth + "','" + Tel + "','" + Address + "')";
                MySqlCommand cmd1 = new MySqlCommand(sql1, msc);
                cmd1.ExecuteNonQuery();
                msc.Close();
                
                MessageBox.Show("增加学生信息成功!");
                textBox1.Text = "";
                textBox2.Text = "";
                textBox3.Text = "";
                textBox4.Text = "";
                comboBox1.Text = "";
                dateTimePicker1.Text = "";
                
                msc.Open();
            	string sql2 = "select * from stud;";
                MySqlCommand cmd2 = new MySqlCommand(sql2, msc);
                MySqlDataAdapter adapt = new MySqlDataAdapter();
                adapt.SelectCommand = cmd2;
                DataSet dataset = new DataSet();
                adapt.Fill(dataset, "table");
                dataGridView1.DataSource = dataset.Tables["table"];
                cmd2.ExecuteNonQuery();
                msc.Close(); 
			}
		}
		void Button2Click(object sender, EventArgs e)
		{
	        string Sno;
            string Connection = "data source=localhost;database=studentdb;user id=用户名;password=密码;pooling=true;charset=utf8;";
            using(MySqlConnection msc = new MySqlConnection(Connection))
            {
            	Sno = this.dataGridView1.CurrentRow.Cells[0].Value.ToString();
            	
            	msc.Open();
            	string sql1 = "DELETE FROM stud WHERE stud.sno='" + Sno + "';";
                MySqlCommand cmd1 = new MySqlCommand(sql1, msc);
                cmd1.ExecuteNonQuery();
                msc.Close();
                
                MessageBox.Show("删除学生信息成功!");
                
                msc.Open();
            	string sql2 = "select * from stud;";
                MySqlCommand cmd2 = new MySqlCommand(sql2, msc);
                MySqlDataAdapter adapt = new MySqlDataAdapter();
                adapt.SelectCommand = cmd2;
                DataSet dataset = new DataSet();
                adapt.Fill(dataset, "table");
                dataGridView1.DataSource = dataset.Tables["table"];
                cmd2.ExecuteNonQuery();
                msc.Close(); 
			}
		}
	}
}

【Program.cs】

/*
 * 作者:JeronZhou
 * 时间:2021-11-01
 * 功能:简单学生信息管理系统
 */

using System;
using System.Windows.Forms;

namespace Teat2_3
{
	internal sealed class Program
	{
		[STAThread]
		private static void Main(string[] args)
		{
			Application.EnableVisualStyles();
			Application.SetCompatibleTextRenderingDefault(false);
			Application.Run(new MainForm());
		}
	}
}

【测试结果】

运行程序,显示如下界面:
在这里插入图片描述
测试添加数据,输入需要插入的学生信息,并点击“添加”按钮,系统弹出添加成功提示窗口,主界面下方列表视图完成同步更新。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试删除数据,使用鼠标在下方列表视图中选中需要除去的学生对应行,点击“删除”按钮,系统弹出删除成功提示窗口,主界面下方列表视图完成同步更新。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 9
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
25175学生报名档案管理系统V1.0.5beta (asp.net2.0) 功能简介: 报名内容{用户名,密码,确认密码,EMail,QQ号码 ,真姓名 ,性别,年龄,家庭住址,电话,手机,身份证号码,密码提示问题,安全回答}powered by 25175.net 所有报名内容都要经过验证,互联网上细节做的到位的25175报名类软件 通过注册的帐号:密码:验证码:进行登陆学生 /admin/index.asp 后台admin aaa进行登陆管理,密码是加MD5加密,分页技术,用户群删, 后台: 类别管理(年届管理,系所管理,专业管理,班级管理) 学生管理(学生档案,档案信息导入,核审学生信息) 添加学生档案(姓名,曾用名,性别,生日,学号,录取与否,所在班,身份证,信仰,民族,地址,联系电话,照片...) 学生档案查看(分页,修改,删除,批量删除) 按自定义格式查看,高级查看,切换查看。 增加功能: 1.完善学生报名项目 2.系统管理项目(管理管理,私人密码设定,数据管理,系统基本设定) 3.系统空间占用 | 压缩数据库 | 备份数据库 | 恢复数据库 的增加 4.系统基本设定(网站名称,网站域名,网站介绍,Logo图标,初始帐号) 5.后台或前台录入学生档案时,最终需要进行审核,学生信息才能查看 6.框架的BUG修复 7.EXCEL导入的BUG.EXCEL重复数据则跳过。 操作系统:win2000及以上 调试平台:IIS5.0及以上 兼容浏览器: IE6, IE7, IE8, FireFox, Safari, Chrome, Opera and more. 开发平台:Microsoft Visual Studio 2005 数据库:ACCESS 系统平台:ASP.net2.0
语言的软件开发具有哪些优点和缺点? C语言是一种高级编程语言,具有结构化程序设计、模块化设计和低级语言控制等优点。在软件开发中,基于C语言的开发也具有许多优点和缺点。 优点: 1.高性能:C语言的设计目的是可移植和高性能的系统编程语言,具有运行速度快和内存利用率高的特点。 2.灵活性:C语言的语法简洁,代码易于维护和修改,同时具有灵活性和可扩展性,有助于提高软件的可维护性和可扩展性。 3.开发成本低:C语言的开发工具和开发文档非常齐全,开发成本相对较低,同时其底层机制的特点也使得熟悉C语言的开发人员能够清晰地掌握程序的底层实现。 4.广泛应用:C语言被广泛应用于操作系统、嵌入式系统、游戏开发、网络应用、图形接口等软件领域,成为了具有重要地位的编程语言。 缺点: 1.易出错:C语言需要开发人员自己负责内存管理和指针的使用,容易出现内存泄露和指针悬垂等问题。 2.安全性差:C语言不提供自动垃圾回收机制,代码安全性较差,容易被黑客攻击和利用。 3.编写复杂:C语言需要程序员手动处理很多低级的、机器相关的操作,编写复杂,要求程序员对计算机的底层有深入的了解。 总之,基于C语言的软件开发在性能、灵活性、开发成本和应用领域上具有很多优势,但也存在易出错、安全性差和编写复杂等缺点。因此,在选择开发语言时,需要结合具体情况和需求进行综合考虑。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jeron Zhou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值