c#学生信息管理系统

c#学⽣信息管理系统                                          图1.系统结构图
图2.登录注册界⾯
图3.学⽣主界⾯
图4.教师登分主界⾯
图5.成绩查询界⾯
图6.个⼈信息界⾯
步骤1:在设计管理系统之前,要先确定系统的结构图,以及确定系统所需要完成的功能。在该系统中分为登录/注册、学⽣主界⾯、成绩查询、个⼈信息、教师登分。
步骤2:在确定好系统的结构功能后就要设计系统的图形界⾯。利⽤C#的界⾯设计出如图2、3、4、5、6的界⾯。
步骤3:进⾏每个界⾯的功能设计
1)登录/注册界⾯
1.利⽤mysql建⽴⽤户密码表stu,tea
图1-1 学⽣⽤户密码表                                                                    图1-2教师⽤户密码表
2.设置登录按钮事件  需要注意此处要把登录界⾯获得的参数传递给学⽣主界⾯,利⽤构造函数传递参数(如蓝⾊地⽅标⽰)
private void button1_Click(object sender, EventArgs e)
{
string s = RadioButtonState;
string strConnect = "data source =localhost;uid=root;pwd=root;database=zsl42";
MySqlConnection comm = new MySqlConnection(strConnect);
MySqlCommand comand = new MySqlCommand("", comm);
switch (s)
{
case "学⽣":  //使⽤command.Parameter 参数传递的⽅式验证数据库中是否有对应的⽤户名和密码
comand.CommandText = "select urid,pwd from stu where urid=@name and pwd=@password";
comand.Parameters.Add("name", MySqlDbType.VarChar);
comand.Parameters.Add("password", MySqlDbType.VarChar);
comand.Parameters["name"].Value = textBox1.Text.Trim();
comand.Parameters["password"].Value = textBox3.Text.Trim();
try
{
if (comm.State == ConnectionState.Closed)
{
comm.Open();
}
MySqlDataReader result = comand.ExecuteReader();
if (result.Read() == true)      //检测DataReader是否有特定⽤户名和密码的记录,若有则实例化学⽣界⾯                        {
Form3 f3 = new Form3(textBox1.Text.ToString());
f3.Show();
this.Hide();
}
else
{
MessageBox.Show("⽤户名或密码错误");
}
}
catch
{
MessageBox.Show("⽤户名或密码错误");
}
finally
{
if (comm.State == ConnectionState.Open)
{
comm.Close();
}
}
break;
case "教师":
comand.CommandText = "select urid,pwd from tea where urid=@name and pwd=@password";
comand.Parameters.Add("name", MySqlDbType.VarChar);
comand.Parameters.Add("password", MySqlDbType.VarChar);
comand.Parameters["name"].Value = textBox1.Text.Trim();
comand.Parameters["password"].Value = textBox3.Text.Trim();
try
{
if (comm.State == ConnectionState.Closed)
{
comm.Open();
}
MySqlDataReader result = comand.ExecuteReader();
if (result.Read() == true)
{个人信息系统
Form5 f5 = new Form5();
f5.Show();
this.Hide();
}
else
{
MessageBox.Show("⽤户名或密码错误");
}
}
catch
{
MessageBox.Show("⽤户名或密码错误");
}
finally
{
if (comm.State == ConnectionState.Open)
{
comm.Close();
}
}
break;
case "管理员":
break;
}
}
2)学⽣界⾯的设计
对于登录界⾯和主界⾯间的切换,查过⼀些书和百度过,都是利⽤登录界⾯隐藏(.Hide()),主界⾯实例化显⽰(new Form();.Show())来实现的,我没想到更好的⽅法。这⾥的窗体获得登录界⾯的参数,注意蓝⾊标⽰
public Form3(string num)
{
InitializeComponent();
label1.Text = num;
}
private void 成绩查询ToolStripMenuItem_Click(object sender, EventArgs e) //f3和f2、f4间的参数传递,把学号传递给f2、f4
{
Form4 f4 = new Form4(label1.Text.ToString());
f4.Show();
}
private void 个⼈信息ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(label1.Text.ToString());
f2.Show();
}
3)成绩查询  把datagridview和dataset绑定在⼀起
建⽴成绩表stuscore
public Form4(string num4)
{
InitializeComponent();
label2.Text = num4;
string filterstr = "select * from stuscore where 学号='" + label2.Text.ToString()+"'";
string strconn = "data source =localhost;uid=root;pwd=root;database=zsl42";
MySqlConnection comm = new MySqlConnection(strconn);
comm.Open();
MySqlDataAdapter da = new MySqlDataAdapter(filterstr,comm);
DataSet ds = new DataSet();
da.Fill(ds,"stuscore");
dataGridView1.DataSource = ds.Tables[0];//把DataSet 与dataGridView的数据源绑定在⼀起
comm.Close();
}
4)个⼈信息
建⽴个⼈信息表stumessage

本文发布于:2024-09-23 08:25:19,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/356678.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:登录   系统   户名   设计   确定   密码   主界
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议