学生成绩管理系统
这学期学习了C#,最后老师验收的时候做出了这个项目。 具体项目功能很简单,有很多设计还有缺陷,当时为了赶工,很多的结构功能逻辑有问题。鉴于已完成并个人答辩,那就让它以现在的形式存在吧。基本的增删改查都有,按照老师的实验要求,以下功能都基本存在。
首先先贴出项目大概的基础功能:
用户登录分为——管理员与学生。
用户管理中的其他功能都是基本的增删改查实现的。
软件效果
登录页面
登录效果
这里有对用户的名字,密码的空判断;为空则会提示用户,输入正确之后,还需要用户对自身的身份选择,需要完全匹配后才能登录进对应的界面。
代码实现
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;
namespace WindowsFormsApp2
{
public partial class Form1 : Form
{
public static string STname;
public static string Spw;
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void button1_Click(object sender, EventArgs e)
{
string constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Database4.mdb";
//连接数据库
OleDbConnection con = new OleDbConnection(constr);
string commstrAdmin = "select count(*) from [UTeacher] where Tnum ='" + textBox1.Text.Trim() + "'and Tpwd='" + textBox2.Text.Trim() + "'";
string commstrPubilc = "select count(*) from [UStudent] where Snum = '" + textBox1.Text.Trim() + "'and Spwd='" + textBox2.Text.Trim() + "'";
//两个参数,一个方法一个对象
OleDbCommand comd = new OleDbCommand(commstrAdmin, con);
OleDbCommand comd2 = new OleDbCommand(commstrPubilc, con);
con.Open();
if (con.State == ConnectionState.Closed)
{
con.Open();
}
if (textBox1.Text == "" || textBox2.Text == "")
{
if (textBox1.Text == "" && textBox2.Text == "")
{
label3.Text = "请输入用户名跟密码";
}
else
{
if (textBox1.Text == "")
{
label3.Text = "请输入正确用户名";
}
if (textBox2.Text == "")
{
label3.Text = "请输入正确的密码";
}
}
}
else
{
if (radioButton1.Checked || radioButton2.Checked)
{
// RadioButton radi = ()
if (radioButton1.Checked)
{
if ((Convert.ToInt32(comd.ExecuteScalar())) > 0)
{
// label3.Text = "登录成功!欢迎您 " + radioButton1.Text + textBox1.Text;
STname = textBox1.Text;
Spw = textBox2.Text;
MessageBox.Show("登录成功!欢迎您 " + radioButton1.Text + textBox1.Text);
Form2 fr = new Form2();
fr.Show();
this.Hide();
}
else
{
MessageBox.Show("管理员用户名或密码错误!");
}
}
if (radioButton2.Checked)
{
if ((Convert.ToInt32(comd2.ExecuteScalar())) > 0)
{
STname = textBox1.Text;
Spw = textBox2.Text;
MessageBox.Show("登录成功!欢迎您 " + radioButton2.Text + textBox1.Text);
Form3 fr = new Form3();
fr.Show();
this.Hide();
}
else
{
MessageBox.Show("普通用户名或密码错误!");
textBox1.Focus();
}
}
}
// Form2 fr = new Form2();
// fr.Show();
// this.Hide();
else
{
label3.Text = "请选择登录身份!";
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
// skinEngine1.SkinFile = "Longhorn.ssk";
}
}
}
管理员主页面
这个界面我没有插入任何实质性的代码,全是跳转代码
每个功能都有区分的新建的Form
查询
这里是可以分别按学号、工号查询;也可以一起全部查询出来。
代码实现
using System.Data.OleDb;
namespace WindowsFormsApp2
{
public partial class 主查询窗口 : Form
{
public 主查询窗口()
{
InitializeComponent();
}
private void ucBtnExt1_BtnClick(object sender, EventArgs e)
{
textBox3.Text = "";
string strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Database4.mdb";
OleDbConnection con = new OleDbConnection(strcon);
if (con.State == ConnectionState.