C#課程設(shè)計(jì)報(bào)告 參考模板
《C#課程設(shè)計(jì)報(bào)告 參考模板》由會(huì)員分享,可在線閱讀,更多相關(guān)《C#課程設(shè)計(jì)報(bào)告 參考模板(12頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 作業(yè)編號(hào)2017 安徽工業(yè)大學(xué).Net平臺(tái)與C#開發(fā)課程設(shè)計(jì) 學(xué)生管理系統(tǒng) 《 .Net平臺(tái)與C#開發(fā)課程設(shè)計(jì)》報(bào)告書 專 業(yè) 學(xué) 號(hào) 學(xué)生姓名 指導(dǎo)教師 分 數(shù)
2、 2017年6月 目錄 1、需求分析 3 2、總體設(shè)計(jì) 3 3、數(shù)據(jù)描述 4 4、詳細(xì)設(shè)計(jì) 6 5、主要代碼實(shí)現(xiàn)和分析 9 6、課程設(shè)計(jì)總結(jié) 12 7、參考資料 12 設(shè)計(jì)報(bào)告 1、需求分析 學(xué)生管理系統(tǒng)是針對(duì)學(xué)校人事處的大量業(yè)務(wù)處理工作而開發(fā)的管理軟件,是典型的管理系統(tǒng)(Manage System On Studant)。它是一個(gè)教育單位不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來說都至關(guān)重要,它能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?。能有效的幫助學(xué)校和老師掌握學(xué)生的情況,為學(xué)生提供成績(jī)跟課程方面
3、的查詢。 學(xué)生用戶通過輸入學(xué)生基本信息、課程基本信息等,由系統(tǒng)自行生成相應(yīng)的數(shù)據(jù)以供學(xué)生查詢,管理用戶還可以對(duì)這些基本信息進(jìn)行更新和刪除,學(xué)生管理系統(tǒng)力求給用戶方便快捷的途徑去管理這些繁瑣的數(shù)據(jù)。 具體系統(tǒng)功能需求描述如下: 在學(xué)生管理系統(tǒng)中,主要有用戶登陸、班級(jí)信息管理、學(xué)生信息管理、課程信息管理、科目信息管理、成績(jī)信息管理、教師信息管理、用戶管理等功能,功能分析如下: (1)用戶登陸 學(xué)生管理系統(tǒng)用戶名及密碼驗(yàn)證模式,進(jìn)入學(xué)生管理系統(tǒng)前,用戶必須在登陸頁面輸入用戶名及密碼,只有驗(yàn)證通過的用戶方可進(jìn)入學(xué)生管理系統(tǒng)操作主界面。 (2)班級(jí)信息管理 包括3個(gè)功能模塊:
4、班級(jí)信息的添加、班級(jí)信息的修改和刪除以及班級(jí)信息的查詢。 (3)學(xué)生信息管理 包括3個(gè)功能模塊:學(xué)生個(gè)人信息的添加、學(xué)生信息的修改和刪除以及學(xué)生信息的查詢。 (4)課程信息管理 包括3個(gè)功能模塊:課程基本信息的添加、課程信息的修改和刪除以及課程信息的查詢。 (5)科目信息管理 包括3個(gè)功能模塊:科目基本信息的添加、科目信息的修改和刪除以及科目信息的查詢。 (6)成績(jī)信息管理 包括3個(gè)功能模塊:成績(jī)基本信息的添加、成績(jī)信息的修改和刪除以及成績(jī)信息的查詢。 (7)教師信息管理 包括3個(gè)功能模塊:教師基本信息的添加、教師信息的修改和教師以及課程信息的查詢。 (8)用戶管理 包
5、括2個(gè)功能模塊:用戶信息添加、用戶密碼的修改和注銷(即 重新登錄)。 2、總體設(shè)計(jì) 1、系統(tǒng)的主要功能模塊 登錄模塊、添加模塊、修改刪除模塊、查詢模塊 總體結(jié)構(gòu) 圖2.1 XXXX 3、數(shù)據(jù)描述 數(shù)據(jù)庫xsglxt的表設(shè)計(jì)如下: (1) 班級(jí)表:描述班級(jí)信息 表3.1 XXXX (2)課程表:描述課程信息 (3)科目表:描述科目信息 (4)學(xué)生表:描述學(xué)生信息 (5)用戶表:描述用戶信息 (6)教師表:描述教師信息 (2)成績(jī)表:描述成績(jī)信息 4、詳細(xì)設(shè)計(jì) 界面設(shè)計(jì) (1)登錄界面 圖4.1 XXXX
6、 該界面是本程序的入口,再輸入用戶名和密碼后只有當(dāng)文本框輸入數(shù)據(jù)和數(shù)據(jù)庫的已有信息相匹配時(shí)才可進(jìn)入系統(tǒng)主界面,否則會(huì)提示輸入有誤。 (2)系統(tǒng)主界面 該窗體是所有子窗體的父窗體,由此窗體可調(diào)用其他子窗體,通過子窗體實(shí)現(xiàn)相應(yīng)功能。管理功能菜單包括“添加”,“修改 刪除”和“查詢”功能,系統(tǒng)菜單包括“教師管理”, “添加用戶”,“修改密碼”,“重新登錄”,“退出”功能??丶otifyIcon1和contextMenuStrip1讓系統(tǒng)運(yùn)行時(shí)在通知欄顯示小圖標(biāo),在小圖標(biāo)右擊時(shí)會(huì)彈出菜單。控件stutasStrip1和timer1讓系統(tǒng)運(yùn)行時(shí)顯示當(dāng)前時(shí)間。 (3)功能界面 功能界面因相
7、差不大,不在一一舉例,僅以班級(jí)管理為例 1、添加界面 該界面實(shí)現(xiàn)了將新的學(xué)生信息添加到數(shù)據(jù)庫班級(jí)信息表(StuB.dbo),為添加信息提供提示和相關(guān)文本框,在文本框輸入正確的信息后,單擊“確定”按鈕,軟件將所輸入的信息通過數(shù)據(jù)庫命令直接添加進(jìn)數(shù)據(jù)庫班級(jí)信息表(StuB.dbo),并提示“添加成功!”在“修改 刪除”界面點(diǎn)擊“刷新”按鈕可看到添加結(jié)果在DataGridView控件中顯示 2修改刪除界面 該界面實(shí)現(xiàn)了對(duì)已有學(xué)生信息的修改和刪除,填入相關(guān)信息后,點(diǎn)擊“修改”(或“刪除”)按鈕,程序?qū)?duì)比班級(jí)編號(hào)后文本框的內(nèi)容與數(shù)據(jù)庫班級(jí)信息表(StuB.dbo)第一列的數(shù)據(jù)是否相
8、同,如某一行的數(shù)據(jù)相同,則將文本框內(nèi)的內(nèi)容替換數(shù)據(jù)庫班級(jí)信息表(StuB.dbo)中數(shù)據(jù)相同行的原有內(nèi)容并提示“修改成功!”(或刪除數(shù)據(jù)庫班級(jí)信息表(StuB.dbo)中數(shù)據(jù)相同行)點(diǎn)擊“刷新”按鈕可看到修改(刪除)結(jié)果在 ;如沒有相同數(shù)據(jù)存在,則彈出提示窗口提示“修改失敗!”。 3查詢界面 該界面實(shí)現(xiàn)了對(duì)已有學(xué)生信息的查詢,在文本框中輸入相關(guān)信息后,點(diǎn)擊“確定”按鈕后,與修改相同,對(duì)比輸入數(shù)據(jù)和數(shù)據(jù)庫班級(jí)信息表(StuB.dbo)的已有數(shù)據(jù),如相同,則將該行信息在DataGridView控件中顯示,如不同則不顯示。 4添加用戶界面 該界面的實(shí)現(xiàn)與添加界面相同 5、修
9、改用戶密碼界面 該界面的實(shí)現(xiàn)與修改界面相同 5、主要代碼實(shí)現(xiàn)和分析 1、用戶登錄主要代碼 if (this.textBox2.Text == "" || this.textBox1.Text == "") { MessageBox.Show("用戶名或密碼不能為空!"); } else { sql = String.Format("select * from login where username='{0}' and password='{1}'", textBo
10、x1.Text.Trim(), textBox2.Text.Trim());要執(zhí)行的SQL語句 com = new SqlCommand(sql, con); con.Open(); dr = com.ExecuteReader(); if (dr.Read()) { Form2 mf = new Form2(); mf.Show(); c
11、on.Close(); this.Hide(); } } 2、主界面主要代碼 //在通知欄顯示小圖標(biāo),程序運(yùn)行時(shí)不在任務(wù)欄顯示 public Form2(){ InitializeComponent(); notifyIcon1.ContextMenuStrip = this.contextMenuStrip1; this.ShowInTaskbar = false; } //通知欄小圖標(biāo)的雙擊事件:主界面最小化或打開主界面 private void notifyIcon1_DoubleClick
12、(object sender, MouseEventArgs e) { if (this.WindowState == FormWindowState.Minimized) { this.WindowState = FormWindowState.Normal; this.Activate(); } else { this.WindowState = FormWindowState.Minimized; } } //打開
13、某一界面(例:打開成績(jī)管理界面) private void 添加ToolStripMenuItem1_Click(object sender, EventArgs e) { Cjgl Cj = new Cjgl(); Cj.Show(); } 3、修改界面主代碼 SqlConnection con = new SqlConnection("Data Source=李國豪;Initial Catalog=xsgl;Integrated Security=True"); //連接數(shù)據(jù)庫 SqlCommand cmd = new SqlC
14、ommand("Insert into StuB values('" + textBox1.Text + "','" + textBox2.Text + "','" + DateTime.Parse(dateTimePicker1.Text) + "','" + textBox4.Text + "','" + textBox5.Text + "','" + comboBox1.Text + "','" + textBox6.Text + "')", con); //要執(zhí)行的SQL語句 try { con.Open();
15、 cmd.ExecuteNonQuery();//執(zhí)行 MessageBox.Show("添加成功!"); } catch (SqlException ex) { MessageBox.Show("添加失??!"+ ex.Message); } 4、修改 刪除界面主代碼 private void button5_Click(object sender, EventArgs e) { string conn
16、String = "Initial Catalog=xsgl;Data Source =李國豪;Integrated Security=true"; //連接數(shù)據(jù)庫命令 SqlConnection con = new SqlConnection(connString); if (this.textBox10.Text == "" || this.textBox11.Text == "" || this.textBox12.Text == "" || this.textBox9.Text == "" || this.textBox3.Text == "" |
17、| this.dateTimePicker2.Text == "" || boBox2.Text == "") { MessageBox.Show("必填項(xiàng)不能為空!"); } else { string sql = "Update StuB set 班級(jí)編號(hào) ='" + textBox10.Text + "', 班級(jí)名稱='" + textBox11.Text + "',入學(xué)時(shí)間='" + DateTime.Parse(dateTimePicker2.Text) + "',學(xué)制=
18、" + textBox12.Text + ",專業(yè)='" + textBox9.Text + "',班主任='" + comboBox2.Text + "',備注='" + textBox3.Text + "'" + "where 班級(jí)編號(hào)='" + textBox10.Text + "'"; //要執(zhí)行的SQL語句 try { con.Open(); SqlCommand cmd = new SqlCommand(sql, con);
19、 cmd.ExecuteNonQuery(); //執(zhí)行 MessageBox.Show("修改成功!"); con.Close(); } catch (Exception ex) { MessageBox.Show("修改失??!" + ex.Message); } textBox9.Clear(); textBox10.Clear(); textBox11.
20、Clear(); textBox12.Clear();textBox3.Clear(); } } private void button6_Click(object sender, EventArgs e) { SqlConnection conn = new SqlConnection(connString); DialogResult ret = MessageBox.Show("確定要?jiǎng)h除嗎?", "刪除", MessageBoxButtons.OKCancel)
21、; if (ret == DialogResult.Cancel) return; string sql = "delete from StuB where 班級(jí)編號(hào)='" + temp +"'";//要執(zhí)行的SQL語句 SqlCommand cmd = new SqlCommand(sql, conn); try { conn.Open(); int rows = cmd.ExecuteNonQuery();//執(zhí)
22、行命令 if (rows == 1) MessageBox.Show("刪除成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (SqlException ex) { MessageBox.Show("刪除失?。? + ex.Message); } conn.Close(); } private v
23、oid dataGridView2_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { DataGridViewRow dgvRow = dataGridView2.Rows[e.RowIndex]; DataGridViewCellCollection dgvCC = dgvRow.Cells; temp = dgvCC[0].Value.ToString(); }// dataGridView2的單擊事件,用于獲
24、得選定行的第一個(gè)數(shù)據(jù) private void button7_Click(object sender, EventArgs e) { sql = "select * from StuB"; //要執(zhí)行的SQL語句 ds = new DataSet(); da = new SqlDataAdapter(sql, DBHelper.sqlcon); //創(chuàng)建DataAdapter數(shù)據(jù)適配器實(shí)例 da.Fill(ds, "StuB");使用DataAdapter的Fill方法(填充),調(diào)用SE
25、LECT命令 dataGridView2.DataSource = new BindingSource(ds, "StuB"); } } } 5、查詢界面主代碼 private void button3_Click(object sender, EventArgs e) { DataSet ds = new DataSet(); SqlConnection con = new SqlConnection("Data Source=李國豪;Initial Catalog=xsgl;Inte
26、grated Security=True"); if (this.textBox7.Text == "" || this.textBox8.Text == "") { MessageBox.Show("必填項(xiàng)不能為空!"); } else { SqlDataAdapter sda = new SqlDataAdapter("select 班級(jí)編號(hào),班級(jí)名稱,入學(xué)時(shí)間,學(xué)制,專業(yè),班主任,備注 from StuB where 班級(jí)編號(hào) = '" + th
27、is.textBox7.Text.Trim() + "'and 班級(jí)名稱='" + this.textBox8.Text.Trim() + "'", con); DataTable table = new DataTable(); sda.Fill(table); dataGridView1.DataSource = table; //聲明數(shù)據(jù)集并將查詢結(jié)果填充進(jìn)數(shù)據(jù)集,再將數(shù)據(jù)集中的數(shù)據(jù)填充進(jìn)控件dataGridView1 textBox7.Clear()
28、; textBox8.Clear(); } } 6、課程設(shè)計(jì)總結(jié) 通過這次課程設(shè)計(jì),實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的學(xué)生管理系統(tǒng),而我也對(duì)C#軟件開發(fā)有了更深一步的認(rèn)識(shí),也學(xué)到了很多在課堂上沒有學(xué)到的東西。對(duì)于VS2012和SQL2008的使用也更加熟練。系統(tǒng)中存在的一些不足和系統(tǒng)設(shè)計(jì)上存在的缺憾,說明自己在這些方面還有很多不足之處有待自己進(jìn)一步學(xué)習(xí)、提高。 在本次課程設(shè)計(jì)中,老師朱會(huì)東和同學(xué)們給了我很大的指導(dǎo)幫助,從他們哪里我學(xué)到了很多,在次表示感謝! 7、參考資料 [1] 《SQL Server 2008 數(shù)據(jù)庫及應(yīng)用》 李偉 著 清華大學(xué)出版社 [2] 《C#程序設(shè)計(jì)及應(yīng)用教程》李偉 著 清華大學(xué)出版社 [3] 網(wǎng)絡(luò)資源:
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版小學(xué)數(shù)學(xué)五年級(jí)下冊(cè)圖形的運(yùn)動(dòng)(三)-1課件
- 供應(yīng)鏈管理方法
- 2019最新青島版數(shù)學(xué)一年級(jí)上冊(cè)第三單元《走進(jìn)花果山-10以內(nèi)的加減法》(信息窗6)課件
- 第四章勞動(dòng)中的心理、生理狀態(tài)對(duì)安全的影響
- 201x九年級(jí)物理上冊(cè)-雙休作業(yè)八(新版)教科版課件
- 課件:項(xiàng)目一-電子商務(wù)物流系統(tǒng)規(guī)劃
- 【人教版】2012-2013學(xué)年九年級(jí)(全一冊(cè))數(shù)學(xué)小復(fù)習(xí):第27章相似復(fù)習(xí)課件
- 消化腺(全英文)課件
- 小學(xué)語文資源五年級(jí)上冊(cè)課件《落花生》課件第一課時(shí)
- 納米材料的基本效應(yīng)課件
- 分析化學(xué)概論-課件
- 沉浸式光影解決方案課件
- 第六講加固Windows操作系統(tǒng)安全ppt課件
- 民主選舉投出理性一票ppt課件
- 高二數(shù)學(xué)選修正態(tài)分布推薦實(shí)用全套PPT