重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章将为大家详细讲解有关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#是一个简单、通用、面向对象的编程语言,它由微软Microsoft开发,继承了C和C++强大功能,并且去掉了一些它们的复杂特性,C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程从而成为.NET开发的选语言,但它不适用于编写时间急迫或性能非常高的代码,因为C#缺乏性能极高的应用程序所需要的关键功能。
关于“C#怎么实现简单学生信息管理系统”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。