您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關C#怎么實現(xiàn)簡單學生信息管理系統(tǒng),小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
具體內容如下
一、運行環(huán)境windows,使用vs編譯軟件
二、主要功能
登錄、添加學生信息、修改學生信息、刪除學生信息、查詢學生信息
三、實現(xiàn)步驟
1、登陸界面功能實現(xiàn)
老規(guī)矩,先貼下主要代碼:
//構造方法 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; } //對登錄按鈕的事件實現(xiàn)代碼 private void button1_Click(object sender, EventArgs e) { string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString(); SqlConnection conn = new SqlConnection(ss); try { //開啟連接 conn.Open(); // MessageBox.Show("數(shù)據(jù)庫連接成功!"); } catch (Exception) { //MessageBox.Show("數(shù)據(jù)庫連接失敗!"); } 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(); } //實現(xiàn)按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 = ""; } //密碼輸入完成后實現(xiàn)敲擊enter鍵觸發(fā)登錄按鈕 private void txtPass_KeyDown(object sender, KeyEventArgs e) { if(e.KeyCode == Keys.Enter) { this.button1_Click(sender, e); } } //實現(xiàn)按enter鍵使焦點轉移到下一文本框,與tab鍵通用 private void txtName_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Enter) { SendKeys.Send("{tab}"); } }
效果如下圖:
2、主界面功能實現(xiàn)
主要代碼如下:
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(); //建立數(shù)據(jù)庫連接 conn = new SqlConnection(ss); try { //開啟連接 conn.Open(); // MessageBox.Show("數(shù)據(jù)庫連接成功!"); } catch (Exception) { MessageBox.Show("數(shù)據(jù)庫連接失敗!"); } } 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("請在學生信息顯示框中單擊所要刪修改學生所在的那一行的任意文字區(qū)域即可!", "提示"); } 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、添加學生信息功能實現(xiàn)
主要代碼如下:
public AddStudent() { InitializeComponent(); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString(); //建立數(shù)據(jù)庫連接 conn = new SqlConnection(ss); try { //開啟連接 conn.Open(); // MessageBox.Show("數(shù)據(jù)庫連接成功!"); } catch (Exception) { MessageBox.Show("數(shù)據(jù)庫連接失敗!"); } } 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("聯(lián)系方式不能為空!"); } 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("添加失?。?quot;); } this.Close(); }
4、刪除學生信息功能實現(xiàn)
在這里采用雙擊所要刪除學生所在的那一行的任意位置即可
主要代碼如下:
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、修改學生信息功能實現(xiàn)
在這里采用單擊所要修改學生所在行任意文字處即可
主要代碼如下:
public UpdateStudent(int id) { this.id = id; string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString(); conn = new SqlConnection(ss); try { //開啟連接 conn.Open(); // MessageBox.Show("數(shù)據(jù)庫連接成功!"); } catch (Exception) { MessageBox.Show("數(shù)據(jù)庫連接失敗!"); } 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("聯(lián)系方式不能為空!"); } 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(); }
(在這里將郭某某的專業(yè)班級為例)
修改前:
修改后:
6、查詢學生信息功能實現(xiàn)
查詢功能就寫了兩種查詢方式
主要代碼如下:
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開發(fā),繼承了C和C++強大功能,并且去掉了一些它們的復雜特性,C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優(yōu)雅的語法風格、創(chuàng)新的語言特性和便捷的面向組件編程從而成為.NET開發(fā)的首選語言,但它不適用于編寫時間急迫或性能非常高的代碼,因為C#缺乏性能極高的應用程序所需要的關鍵功能。
關于“C#怎么實現(xiàn)簡單學生信息管理系統(tǒng)”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。