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

发布时间:2021-08-25 17:29:03 作者:chen
来源:亿速云 阅读:154

这篇文章主要讲解了“怎么用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#实现简单学生信息管理系统”的内容了,经过本文的学习后,相信大家对怎么用C#实现简单学生信息管理系统这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. python学生信息管理系统实现
  2. python学生信息管理系统的实现

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:C#怎么实现背单词小程序

下一篇:C#怎么实现在底图上动态生成文字和图片

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》