《C#程序設計》課程設計報告學生成績管理系統(tǒng)
《《C#程序設計》課程設計報告學生成績管理系統(tǒng)》由會員分享,可在線閱讀,更多相關《《C#程序設計》課程設計報告學生成績管理系統(tǒng)(26頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 《C#程序設計》 課程設計報告 (2010— 2011學年 第 2 學期) 題 目: 專 業(yè): 班 級: 姓名學號: 指導教師: 成 績: 計算機科學與技術系 年 月 日 C#學生成績管理系統(tǒng) 一、設計目的 1、掌握簡
2、單WinForm應用程序的設計 2、ADO.net的應用。 3、使用C#語言解決實際問題的能力 二、設計內(nèi)容 1、基本要求 (1)根據(jù)查詢條件實現(xiàn)學生信息的查詢。 (2)學生選課信息查詢、成績信息的查詢。 (3)學生信息、課程信息、成績信息的增加、刪除、修改。 (4)對基本信息完成增加、刪除、修改時,需注意表與表之間的關聯(lián) 三、軟件設計過程 一、按照任務書寫表格 1、 課程表 2、 學生表 3、 成績表 另外添加了一張用戶登陸表 2、 軟件功能介紹 1、登陸界面 點擊登陸后進入主界面,點擊退出即退出系統(tǒng)
3、 2、 主界面 主界面有四個按鈕,分別是:學生信息查尋、學生信息修改、學生成績錄入和退出。前三個進入相應的功能界面,退出則是退出系統(tǒng)。 3、 學生信息查詢 界面 進入學生信息查尋界面??梢园凑招彰?、學號和專業(yè)進行查尋。 按專業(yè)查詢: 按姓名查詢: 按學號查詢: 點擊會顯示所選行學生的成績 以學號061101王林為例: 返回鍵返回主菜單 4、學生信息修改 界面 點擊任意一行,會將相應學生的信息顯示在分別顯示在相應的空格里,如圖: 對其作出修改 點擊更新 當輸入的姓名在學生表里沒有時,如: 點擊更新怎是加入一條學生信息
4、 選中一條學生信息,點擊刪除,會有提示框提示是否刪除: 點擊確定會提示刪除成功 取消則是取消刪除。 返回鍵返回主菜單 5、 學生成績錄入 界面 進入學生成績錄入界面,顯示有記錄學生成績的學號、姓名、課程號及成績。 錄入成績,以錄入Tom 學號061120課程號101為例: 點擊確認即錄入成績 點擊返回,返回主菜單。 四、心得體會 這次課程設計,一開始無從下手。在聽過老師的講解后,逐漸知道了大體方向。開始慢慢地做了起來。碰到困難,尋求同學和網(wǎng)絡的幫助,在他們的幫助下,問題一一解決,最終完成了此次的課程設計。此次的課程設計讓我對C#和數(shù)據(jù)庫有更
5、深一步的了解,把平時零散的理論知識在此次課程設計中用起來了。同時也發(fā)現(xiàn)了自己的不足之處,日后要多多實踐。 五、源程序 用戶登陸界面 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlC
6、lient; namespace _1 { public partial class userLog : Form { public userLog() { InitializeComponent(); } public string connstr; public void Getway() { connstr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=
7、E:\1\Student.mdf;Integrated Security=True;Connect Timeout=30;User Instance=False"; } private void quit_Click(object sender, EventArgs e) { this.Close(); } private void log_Click(object sender, EventArgs e) { Getway(
8、); string username = uname.Text.Trim(); string password = upassword.Text.Trim(); //string selectcommond = "select * from Userxx where UserName ="+ username+" and Userpassword = "+ password+""; string _sql = "select * from userinfo"; //方?便?前期操作痢? 后來
9、ぁ?要癮刪?除y的?記?住? using (SqlConnection conn = new SqlConnection(connstr)) { conn.Open(); SqlCommand sql = new SqlCommand(_sql, conn); SqlDataReader reader = sql.ExecuteReader(); if (reader.Read())
10、 { main open1 = new main(); open1.ShowDialog(); } else { if (uname.Text == "") { MessageBox.Show("用?戶名?不?能為a空?!?", "錯洙?誤提?示?!?"); } else {
11、 if (upassword.Text == "") { MessageBox.Show("密碼?不?能為a空?!?", "錯洙?誤提?示?!?"); } else { MessageBox.Show("不?存?在該?用?戶信?息¢!?", "錯洙?誤提?示?!?"); } }
12、 uname.Text = ""; upassword.Text = ""; } } } } } 主界面 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using Sy
13、stem.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace _1 { public partial class main : Form { public main() { InitializeComponent(); } private void button1_Click_1(object sender, EventArgs e) {
14、 StuinfoCheck stu1 = new StuinfoCheck(); stu1.ShowDialog(); } private void button2_Click_1(object sender, EventArgs e) { StuinfoAdd stu2 = new StuinfoAdd(); stu2.ShowDialog(); } private void button3_Click
15、_1(object sender, EventArgs e) { StuGraceinfo stu3 = new StuGraceinfo(); stu3.ShowDialog(); } private void button4_Click_1(object sender, EventArgs e) { this.Close(); } } } 學生信息查詢 using Syste
16、m; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using System.IO; namespace _1 { public partial class StuinfoCheck : Form
17、{ public StuinfoCheck() { InitializeComponent(); } public string SelectSno; private void StuinfoCheck_Load(object sender, EventArgs e) { // TODO: 這a行D代洙?碼?將?數(shù)簓據(jù)Y加載?到?表括?“studentDataSet.S”中D。£您可以?根據(jù)Y需要癮移?動ˉ或移?除y它?!?
18、 //this.sTableAdapter.Fill(this.studentDataSet.S); // TODO: 這a行D代洙?碼?將?數(shù)簓據(jù)Y加載?到?表括?“studentDataSet.C”中D?!昴梢?根據(jù)Y需要癮移?動ˉ或移?除y它?!? //this.cTableAdapter.Fill(this.studentDataSet.C); //---------------------------------------------- string connst
19、r = @"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\1\Student.mdf;Integrated Security=True;Connect Timeout=30;User Instance=False"; string _sql = "SELECT Sno as 學號?,Sname as 姓?名?,Smajor as 專痢?業(yè)唉?Ssex as 性?別纄,Sbirth as 生Θ?日?,totalpoint as 總哩?學分?,remark as 備?注痢?from S"; // stri
20、ng _sql = "select Sno as 學號?,Sname as 姓?名? from S"; SqlConnection cnn = new SqlConnection(connstr); SqlDataAdapter sda = new SqlDataAdapter(_sql, cnn); DataSet ds = new DataSet(); sda.Fill(ds); dataGridView1.DataSource =
21、 ds.Tables[0].DefaultView; string sql_Smajor="select distinct Smajor from S"; SqlCommand cmd = new SqlCommand(sql_Smajor,cnn); cnn.Open(); // SqlDataReader dr = new SqlDataReader(); SqlDataReader dr = cmd.ExecuteReader();
22、 while(dr.Read()) { majorSelection.Items.Add(dr[0]); } cnn.Close(); majorSelection.SelectedIndex=0; } public DataSet Conn(string sql) { string connstr = @"Data Source=.\SQLEXPRES
23、S;AttachDbFilename=E:\1\Student.mdf;Integrated Security=True;Connect Timeout=30;User Instance=False"; //string _sql = "SELECT Sno as 學號?,Sname as 姓?名?,Smajor as 專痢?業(yè)唉?Ssex as 性?別纄,Sbirth as 生Θ?日?,totalpoint as 總哩?學分?,remark as 備?注痢?from S"; SqlConnection cnn = new SqlConnec
24、tion(connstr); SqlDataAdapter sda = new SqlDataAdapter(sql, cnn); DataSet ds = new DataSet(); sda.Fill(ds); return ds ; } private void search_Click(object sender, EventArgs e) { string sql = "select * from
25、S where 1=1 "; if (no.Text.Trim() != string.Empty) { sql += " and Sno like %" + no.Text.Trim() + "%"; } if (name.Text.Trim() != string.Empty) { sql += " and Sname like %" + name.Text.Trim() + "%";
26、 } if (majorSelection.Text.Trim() != "所有瓺專痢?業(yè)唉?) { sql += " and Smajor like %" + majorSelection.Text + ""; } DataSet ds = Conn(sql); dataGridView1.DataSource = ds.Tables[0].DefaultView; }
27、//private void dataGridView1_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) //{ // string str = dataGridView1.CurrentRow.Cells[0].Value.ToString(); // string _sql = "SELECT Sno as 學號?,Sname as 姓?名?,Smajor as 專痢?業(yè)唉?Ssex as 性?別纄,Sbirth as 生Θ
28、?日?,totalpoint as 總哩?學分?,remark as 備?注痢?from S"; // DataSet ds = Conn(_sql); // dataGridView1.DataSource = ds.Tables[0].DefaultView; // } private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) {
29、 stuinfodetail formCourse = new stuinfodetail(); formCourse.SelectSno = dataGridView1.CurrentRow.Cells[0].Value.ToString(); formCourse.ShowDialog(); } private void exit_Click(object sender, EventArgs e) { this.Close(); }
30、 } } 成績顯示界面 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace _1 { p
31、ublic partial class stuinfodetail : Form { public string SelectSno; public stuinfodetail() { InitializeComponent(); } private void stuinfodetail_Load(object sender, EventArgs e) { string connstr = @"Data Source=.\
32、SQLEXPRESS;AttachDbFilename=E:\1\Student.mdf;Integrated Security=True;Connect Timeout=30;User Instance=False"; string _sql = "SELECT S.Sno as 學號?,Sname as 姓?名?,Cno as 課?程號?,Point 成績 FROM S,SC where S.Sno = SC.Sno and S.Sno=" + this.SelectSno + ""; SqlConnection cnn = new Sq
33、lConnection(connstr); cnn.Open(); SqlDataAdapter sda = new SqlDataAdapter(_sql, cnn); DataSet ds = new DataSet(); sda.Fill(ds); dataGridView1.DataSource = ds.Tables[0].DefaultView; cnn.Close(); } } }
34、 學生信息修改 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace _1 { public partial class StuinfoAdd : Form {
35、 public StuinfoAdd() { InitializeComponent(); } private void StuinfoAdd_Load(object sender, EventArgs e) { // TODO: 這a行D代洙?碼?將?數(shù)簓據(jù)Y加載?到?表括?“studentDataSet.S”中D?!昴梢?根據(jù)Y需要癮移?動ˉ或移?除y它?!? //this.sTableAdapter.Fill(this
36、.studentDataSet.S); // TODO: 這a行D代洙?碼?將?數(shù)簓據(jù)Y加載?到?表括?“studentDataSet.C”中D?!昴梢?根據(jù)Y需要癮移?動ˉ或移?除y它。£ //this.cTableAdapter.Fill(this.studentDataSet.C); //---------------------------------------------- string connstr = @"Data Source=.\SQLEXPRESS;AttachDb
37、Filename=E:\1\Student.mdf;Integrated Security=True;Connect Timeout=30;User Instance=False"; string _sql = "SELECT Sno as 學號?,Sname as 姓?名?,Smajor as 專痢?業(yè)唉?Ssex as 性?別纄,Sbirth as 生Θ?日?,totalpoint as 總哩?學分?,remark as 備?注痢?from S"; // string _sql = "select Sno as 學號?,Sname as
38、姓?名? from S"; SqlConnection cnn = new SqlConnection(connstr); SqlDataAdapter sda = new SqlDataAdapter(_sql, cnn); DataSet ds = new DataSet(); sda.Fill(ds); dataGridView1.DataSource = ds.Tables[0].DefaultView; //string
39、sql_Smajor = "select distinct Smajor from S"; //SqlCommand cmd = new SqlCommand(sql_Smajor, cnn); cnn.Open(); //SqlDataReader dr = new SqlDataReader(); //SqlDataReader dr = cmd.ExecuteReader(); //while (dr.Read()) //{
40、 // majorSeletion.Items.Add(dr[0]); //} //cnn.Close(); //majorSeletion.SelectedIndex = 0; } private void delete_Click(object sender, EventArgs e) { string connstr = @"Data Source=.\SQLEXPRESS;AttachD
41、bFilename=E:\1\Student.mdf;Integrated Security=True;Connect Timeout=30;User Instance=False"; DialogResult ret = MessageBox.Show("確ā?定要癮刪?除y該?信?息¢嗎e??", "刪?除y", MessageBoxButtons.OKC
42、ancel, MessageBoxIcon.Information); if(ret == DialogResult.Cancel) { return;} string _sql="delete from S where Sno="+stuno.Text+""; SqlConnection conn = new SqlConnection(connstr);
43、 SqlCommand cmd = new SqlCommand(_sql,conn); try { conn .Open(); int rows=cmd .ExecuteNonQuery(); if(rows == 1) { MessageBox.Show("刪?除y成功|!?",
44、 "提?示?", MessageBoxButtons.OK, MessageBoxIcon.Information); } StuinfoAdd_Load(null ,null ); } finally { conn.Close(
45、); } } private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { stuno.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString(); stuname.Text = dataGridView1.CurrentRow.Cells[1].Value.ToS
46、tring(); cname.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString(); stubirth.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString(); credit.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString(); sturemark.Text = dataGridView1.CurrentRo
47、w.Cells[6].Value.ToString(); if (dataGridView1.CurrentRow.Cells[3].Value.ToString().Trim () == "男D") { male.Checked = true; } else { female.Checked = true; } //stubirth.Text =
48、 Convert.ToDateTime((stubirth.Text.Trim())).ToShortDateString(); } private void updata_Click(object sender, EventArgs e) { //更新?信?息¢ string connstr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\1\Student.mdf;Integrated Security=True;Conne
49、ct Timeout=30;User Instance=False"; string _title = "select count(*) from S where sno=" + stuno.Text + ""; SqlConnection conn = new SqlConnection(connstr); SqlCommand cmd = new SqlCommand(_title, conn); //檢查是?否?有瓺該?學生Θ?的?信?息¢,?有瓺則修T改?,?無T則添?加
50、 try { conn.Open(); int str = (int)cmd.ExecuteScalar();//強?制?轉(zhuǎn)羇換?,?執(zhí)′行D查詢ˉ并¢返う?回?查詢ˉ所返う?回?的?結(jié)果?集ˉ中D第臺?一?行D的?第臺?一?列 //修T改?信?息¢ if (str == 1) { _title = "update S set Sname
51、 = " + stuname.Text + ",Smajor = " + cname.Text + ",totalpoint = " + int.Parse(credit.Text) + ",remark=" + sturemark.Text + " where Sno=" + stuno.Text + ""; } //添?加新?信?息¢ else { //DateTime cn = Convert.ToDateTi
52、me(stubirth.Text.Trim()); string sex = male.Checked ? "男D" : "女?"; _title = "insert into S(Sno,Sname,Smajor,Ssex,Sbirth,totalpoint,remark) values ( " + stuno.Text + "," + stuname.Text + "," + cname.Text + "," + sex + "," + stubirth.Text.Trim() + "," + int.Pa
53、rse(credit.Text) + "," + sturemark.Text + ")"; } cmd = new SqlCommand(_title, conn); cmd.ExecuteNonQuery(); StuinfoAdd_Load(null, null); } finally { conn.Close();
54、} } private void exit_Click(object sender, EventArgs e) { this.Close(); } } } 學生成績錄入 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using
55、 System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace _1 { public partial class StuGraceinfo : Form { public StuGraceinfo() { InitializeComponent(); } private void StuGraceinfo_Load(object sender, EventArgs e
56、) { string connstr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\1\Student.mdf;Integrated Security=True;Connect Timeout=30;User Instance=False"; string _sql = "SELECT S.Sno as 學號?,Sname as 姓?名?,Cno as 課?程號?,Point as 成績 FROM S,SC where S.Sno=SC.Sno";
57、 //SELECT Sno as 學號?,Sname as 姓?名?,Smajor as 專痢?業(yè)唉?Ssex as 性?別纄,Sbirth as 生Θ?日?,totalpoint as 總哩?學分?,remark as 備?注痢?from S SqlConnection cnn = new SqlConnection(connstr); SqlDataAdapter sda = new SqlDataAdapter(_sql, cnn); cnn.Open(); DataSet ds =
58、new DataSet(); sda.Fill(ds); dataGridView1.DataSource = ds.Tables[0].DefaultView; //cnn.Close(); } private void button3_Click(object sender, EventArgs e) { this.Close(); } private void dataGridView1_
59、RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { textBox1.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString(); textBox3.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString(); textBox4.Text = dataGridView1.CurrentRo
60、w.Cells[3].Value.ToString(); textBox6.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString(); } private void button1_Click(object sender, EventArgs e) { string connstr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=E:\1\Student.mdf;Int
61、egrated Security=True;Connect Timeout=30;User Instance=False"; string _sql = "select count(*) from S where S.Sno=" + textBox1.Text + ""; string sql1 = "select Cno from C where Cno=" + textBox6 .Text + ""; SqlConnection cnn = new SqlConnection(conns
62、tr); SqlCommand cmd = new SqlCommand(_sql,cnn); SqlCommand cmd1 = new SqlCommand(sql1, cnn); string cno=""; try { cnn.Open(); SqlDataReader dr = cmd1.ExecuteReader();
63、 while (dr.Read()) { cno = dr[0].ToString(); } cnn.Close(); cnn.Open(); int cnt = (int)cmd.ExecuteScalar(); //制?轉(zhuǎn)羇化ˉ 返う?回?第臺?一?行D第臺?一?列 修T改?記?錄? if (cnt == 1)
64、 { _sql = "update SC set Point=" + textBox4.Text + ",Cno=" + textBox6.Text + " where Sno="+textBox1.Text +""; } else //添?加記?錄? { _sql = "insert into SC(Sno,Cno,Point) values(" + textBox
65、3.Text.Trim() + "," + textBox6.Text.Trim() + "," + int.Parse(textBox4.Text.Trim()) + ")"; } cmd = new SqlCommand(_sql, cnn); int i = cmd.ExecuteNonQuery(); StuGraceinfo_Load(null, null); } finally
66、 { cnn.Close(); } } } } 設計 日志 記錄每天的主要設計內(nèi)容、遇到的問題、解決方法及效果,等。 DAY 1 聽了老師對系統(tǒng)架構的部分分析,對本次課程設計有了大致的了解,明確了大體框架,把任務書上的數(shù)據(jù)庫表準備好了,并簡單地完成了系統(tǒng)各個窗體的設計。 DAY 2 對各個窗體進行了更為細致的設計,對需要用到的事件和要修改的屬性進行適當分配,以便設計代碼時能對整體更清晰,完成了用戶登陸的代碼設計。 DAY 3 開始代碼設計,實現(xiàn)了學生信息查詢的功能。在這過程中,遇到了許多問題諸如數(shù)據(jù)庫的
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇教版五上《小數(shù)乘整數(shù)》ppt課件
- 蘇教版一年級數(shù)學上冊《數(shù)一數(shù)》ppt課件
- 江南1優(yōu)秀課件
- 提高印字質(zhì)量課件
- 服務分銷策略課件
- 數(shù)學必修蘇教版互斥事件課件3(共32張PPT)
- 第三章要素費用的核算PPT優(yōu)秀資料
- 元素的質(zhì)量分數(shù)計算答案
- 圖形的欣賞與設計
- 八年級下期Uuit10SectionA課件
- 部編七年級語文下冊4孫權勸學課件
- 部編一年級語文下冊端午粽課件
- 超市防損的技能課件
- 表彰班會教學課件教學課件
- 第17講中考數(shù)學專題復習 函數(shù)的綜合應用中考數(shù)學專題復習課件課件各版通用