C# mysql 学生信息管理系统

这篇博客介绍了如何使用C# Winform和Mysql.Data.MySqlClient库创建一个学生信息管理系统。程序通过 DataGridView 控件实现数据的增删查改,并提供了登录、注册和执行SQL语句的功能。用户可以通过文本框输入SQL直接操作数据库,但DQL语句无效。作者承认程序存在一些不足,如修改日期格式问题,期待改进。
摘要由CSDN通过智能技术生成

C# winform mysql实现学生信息管理系统

该程序主要是通过对C#窗体的DataGridView控件的单元格进行修改,实现对mysql数据库的增删查改等操作。

附上C#使用MySql.Data.MySqlClient;命名空间的方法:
C# 使用Mysql.Data.MysqlClient命名空间

编译环境:
Windows VS2019

运行效果:

在这里插入图片描述
开始界面
用两个文本框中的内容去匹配数据表中内容,
匹配成功则进入操作界面。
点击蓝色的注册文字,跳转到注册界面。


在这里插入图片描述
注册界面
可通过在文本框中输入账号和密码在对应数据表中插入一个账号信息。
注册成功则重新返回登录界面。


在这里插入图片描述
操作界面
代码将数据表中的学生信息填充到了DataGridView控件中。
可通过双击DataGridView控件的单元格,修改其中的内容,间接对数据库中信息的进行修改。
增加学生信息,只需修改界面上最后一行的单元格进行修改,即可添加。
点击删除按钮,当前所选中的单元格的一行信息,将被删除。
另外,我添加了一个文本框,可通过在文本框中输入sql语句再点击执行,对数据信息进行操作。但dql语句并不会有作用。

所有数据库中的学生信息或更改数据后显示,或手动刷新。

DataGridView控件本身提供了通过单击字段名,对数据进行排序显示的功能。

还有更多程序细节在代码中可见。


由于C#会在InitializeComponent中自动添加控件相关代码和编译器自动对代码进行了较多的分文件操作,所以导致整个项目的代码较多且分散。

粘贴全部代码不仅麻烦,而且还没有意义。

所以在此只粘贴了三个窗口的实现代码,还请大家多多包含。

代码:

Form1登录窗口:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data;
using MySql.Data.MySqlClient;

namespace C_sharp学生信息管理系统
{
   
    public partial class Form1 : Form
    {
   
        MySqlConnection conn;       //用于连接数据库对象
        MySqlCommand cmd;           //用于查询数据库对象1
        MySqlDataReader DataReader; //用于查询数据库对象2
        String connetStr =          //连接数据库用的字符串
            "server=localhost;port=3306;user=root;password=123456; database=studentsql;";

        //程序入口
        //窗口类构造函数
        public Form1()
        {
   
            InitializeComponent();  //创建窗口
            //设置窗口显示位置居中
            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
        }

        //封装查询数据库函数,参数为要查询的数据表
        void sqlinquire(String sql)
        {
   
            //点击登录按钮时,查询数据库的账号密码表
            //当文本框中的数据等于对应账号密码信息时,进入下一界面
            //每次使用语句之前重新连接数据库
            // server=localhost 代表本机,端口号port默认是3306可以不写,
            //user用户名,password密码,database要使用的数据库
            conn = new MySqlConnection(connetStr);
            conn.Open();
            cmd = new MySqlCommand(sql, conn);
            DataReader = cmd.ExecuteReader();
        }

        //点击登录按钮事件
        private void button1_Click(object sender, EventArgs e)
        {
   
            try
            {
   
                //将账号和密码字符串与数据库中的对应字段进行匹配,匹配成功则进入管理界面
                sqlinquire("select * from account");
                //Read初始索引是-1,执行读取下一行数据,没有下一行返回false
                //通过遍历表中所有数据确定对应的关系
                bool sign = false;  //标记是否登录成功
                while (DataReader.Read())
                    //如果账号和密码与数据库中account管理员账户数据表中的数据对应,则登录成功
                    if ((textBox1.Text == DataReader.GetString("id")) &&
                        (textBox2.Text == DataReader.GetString("password")))
                    {
   
                        sign = true;
                        break;        //有一次匹配成功则代表找到成功跳出循环
                    }
                    else
                        sign = false;

                if (!sign)
                {
   
                    MessageBox.Show("用户名或密码错误!");
                    return;
                }

                //账号密码匹配则进入管理界面
                Form3 form3 = new Form3();
                form3.Show();
                this.Hide();    //隐藏当前窗口
            }
            catch
            {
   
                MessageBox.Show("意料之外的错误!");
                return;
            }  
        }

        //点击注册按钮事件
        private void label5_Click(object sender, EventArgs e)
        {
   
            //显示注册窗口
            Form2 form2 =
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值