這篇文章將為大家詳細(xì)講解有關(guān)C#怎么實(shí)現(xiàn)簡(jiǎn)單學(xué)生信息管理系統(tǒng),小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
我們擁有10余年網(wǎng)頁(yè)設(shè)計(jì)和網(wǎng)站建設(shè)經(jīng)驗(yàn),從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁(yè)設(shè)計(jì)師為您提供的解決方案。為企業(yè)提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、移動(dòng)網(wǎng)站建設(shè)、html5、等業(yè)務(wù)。無(wú)論您有什么樣的網(wǎng)站設(shè)計(jì)或者設(shè)計(jì)方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設(shè)計(jì)服務(wù)并滿足您的需求。
具體內(nèi)容如下
一、運(yùn)行環(huán)境windows,使用vs編譯軟件

二、主要功能
登錄、添加學(xué)生信息、修改學(xué)生信息、刪除學(xué)生信息、查詢學(xué)生信息
三、實(shí)現(xiàn)步驟
1、登陸界面功能實(shí)現(xiàn)
老規(guī)矩,先貼下主要代碼:
//構(gòu)造方法
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;
}
//對(duì)登錄按鈕的事件實(shí)現(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ù)庫(kù)連接成功!");
}
catch (Exception)
{
//MessageBox.Show("數(shù)據(jù)庫(kù)連接失敗!");
}
String uname = txtName.Text.Trim();
string pword = txtPass.Text.Trim();
if(uname == ""|| pword == "")
{
MessageBox.Show("請(qǐng)輸入用戶名或密碼!");
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("用戶名或密碼錯(cuò)誤!");
return;
}
else
{
Form1.isLogin = true;
Form1.username = this.txtName.Text;
this.Close();
}
cmd.Clone();
}
conn.Close();
}
//實(shí)現(xiàn)按ESC鍵關(guān)閉該窗口
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
{
switch (keyData)
{
case Keys.Escape:
this.Close();//esc關(guān)閉窗體
break;
}
return false;
}
//重置按鈕清空文本框
private void button2_Click(object sender, EventArgs e)
{
txtName.Text = "";
txtPass.Text = "";
}
//密碼輸入完成后實(shí)現(xiàn)敲擊enter鍵觸發(fā)登錄按鈕
private void txtPass_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Enter)
{
this.button1_Click(sender, e);
}
}
//實(shí)現(xiàn)按enter鍵使焦點(diǎn)轉(zhuǎn)移到下一文本框,與tab鍵通用
private void txtName_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
SendKeys.Send("{tab}");
}
}效果如下圖:

2、主界面功能實(shí)現(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ù)庫(kù)連接
conn = new SqlConnection(ss);
try
{
//開啟連接
conn.Open();
// MessageBox.Show("數(shù)據(jù)庫(kù)連接成功!");
}
catch (Exception)
{
MessageBox.Show("數(shù)據(jù)庫(kù)連接失敗!");
}
}
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關(guān)閉窗體
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("請(qǐng)?jiān)趯W(xué)生信息顯示框中雙擊所要?jiǎng)h除學(xué)生所在的那一行即可!!!","提示");
}
private void button3_Click(object sender, EventArgs e)
{
MessageBox.Show("請(qǐng)?jiān)趯W(xué)生信息顯示框中單擊所要?jiǎng)h修改學(xué)生所在的那一行的任意文字區(qū)域即可!", "提示");
}
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
DialogResult result = MessageBox.Show("確定刪除該學(xué)生信息?", "刪除", 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、添加學(xué)生信息功能實(shí)現(xiàn)
主要代碼如下:
public AddStudent()
{
InitializeComponent();
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString();
//建立數(shù)據(jù)庫(kù)連接
conn = new SqlConnection(ss);
try
{
//開啟連接
conn.Open();
// MessageBox.Show("數(shù)據(jù)庫(kù)連接成功!");
}
catch (Exception)
{
MessageBox.Show("數(shù)據(jù)庫(kù)連接失敗!");
}
}
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關(guān)閉窗體
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("學(xué)號(hào)不能為空!");
}
if (String.IsNullOrEmpty(StuName))
{
MessageBox.Show("姓名不能為空!");
}
if (String.IsNullOrEmpty(StuClass))
{
MessageBox.Show("班級(jí)不能為空!");
}
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("添加失敗!");
}
this.Close();
}
4、刪除學(xué)生信息功能實(shí)現(xiàn)
在這里采用雙擊所要?jiǎng)h除學(xué)生所在的那一行的任意位置即可
主要代碼如下:
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
DialogResult result = MessageBox.Show("確定刪除該學(xué)生信息?", "刪除", 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();
}效果如下圖(雙擊第一行進(jìn)行刪除):
刪除前:

刪除后:

5、修改學(xué)生信息功能實(shí)現(xiàn)
在這里采用單擊所要修改學(xué)生所在行任意文字處即可
主要代碼如下:
public UpdateStudent(int id)
{
this.id = id;
string ss = ConfigurationManager.ConnectionStrings["Stu"].ToString();
conn = new SqlConnection(ss);
try
{
//開啟連接
conn.Open();
// MessageBox.Show("數(shù)據(jù)庫(kù)連接成功!");
}
catch (Exception)
{
MessageBox.Show("數(shù)據(jù)庫(kù)連接失敗!");
}
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關(guān)閉窗體
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("班級(jí)不能為空!");
}
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è)班級(jí)為例)
修改前:

修改后:

6、查詢學(xué)生信息功能實(shí)現(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];
}效果如下:
按學(xué)號(hào)查詢:

按姓名查詢:

C#是一個(gè)簡(jiǎn)單、通用、面向?qū)ο蟮木幊陶Z(yǔ)言,它由微軟Microsoft開發(fā),繼承了C和C++強(qiáng)大功能,并且去掉了一些它們的復(fù)雜特性,C#綜合了VB簡(jiǎn)單的可視化操作和C++的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語(yǔ)法風(fēng)格、創(chuàng)新的語(yǔ)言特性和便捷的面向組件編程從而成為.NET開發(fā)的首選語(yǔ)言,但它不適用于編寫時(shí)間急迫或性能非常高的代碼,因?yàn)镃#缺乏性能極高的應(yīng)用程序所需要的關(guān)鍵功能。
關(guān)于“C#怎么實(shí)現(xiàn)簡(jiǎn)單學(xué)生信息管理系統(tǒng)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
網(wǎng)站欄目:C#怎么實(shí)現(xiàn)簡(jiǎn)單學(xué)生信息管理系統(tǒng)
當(dāng)前地址:http://www.chinadenli.net/article6/gshhig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、云服務(wù)器、網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站制作、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)