畢業(yè)論文用C制作學生信息管理系統(tǒng)_第1頁
畢業(yè)論文用C制作學生信息管理系統(tǒng)_第2頁
畢業(yè)論文用C制作學生信息管理系統(tǒng)_第3頁
畢業(yè)論文用C制作學生信息管理系統(tǒng)_第4頁
畢業(yè)論文用C制作學生信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、課程設計(論文)學生信息管理系統(tǒng)系 別 :計算機系專業(yè)(班級):計算機科學與技術2010級3班作者(學號):馮深海(51002013036)指導教師: 王 磊完成日期: 2011年6月12日蚌埠學院教務處制摘 要 隨著科學技術的不斷進步,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。作為計算機應用的一個重要部分,信息查詢系統(tǒng)是一個由用戶和計算機組成的進行信息管理、信息收集、存儲處理、傳遞使用和維護的軟件系統(tǒng)。學生信息管理系統(tǒng)是學校管理學生信息的一種必不可少的的工具,它相對與手工書寫管理更加便利,快捷,節(jié)約大量時間,大幅提高日常查詢效率。

2、關于學生信息管理系統(tǒng),論文主要分幾個重點部分來介紹它的功能的實現。對各個功能的描述,內容簡潔,明了,結構緊湊 。學生信息管理系統(tǒng)可以滿足用戶的需求,具體體現在對學生信息的錄入,修改,查詢,修改等操作。實現其中的操作除了對各個類中代碼書寫,更重要的還需要書寫與后臺數據庫交互的代碼, 滿足數據庫信息的輸入和輸出。學生信息管理系統(tǒng)的開發(fā)目的是為了實現學生個人信息的信息化管理。本系統(tǒng)需要完成功能有:1 .登錄學生管理系統(tǒng);2 .錄入學生信息,包括學號,姓名,性別,出生日期;3 .修改已知學號的學生信息;4 .刪除已知學號的學生信息; 5 .查詢已知學號

3、的學生信息; 關鍵詞 登錄(Login),錄入(FormAddStudent),修改(studentmodify),刪除(studentdelete) ,查詢(studensearch)第一章 引言(或概述)第一章 引言(或概述) 學生信息管理系統(tǒng)開發(fā)我們需具備對后臺數據庫表的建立,插入,查詢,刪除,更新,Visual Studio2005 工具的使用 和面向對象C#語言等知識。通過對學生信息管理系統(tǒng)的設計慢慢了解,深入學習,從而達到熟練掌握.NET基本結構以及C#語言的基本知識和技能;基本掌握面向對象程序開發(fā)的基本思路和方法;掌握ADO.NET數據庫開發(fā)基本知識;能夠利用所學的基本知識和技能

4、,進行簡單數據庫應用程序設計。根據課題的要求,給出解決問題的方案,通過分析問題、分解問題來解決問題,最終達到熟練掌握C#語言的運用和Visual Studio2005工具的使用。第二章設計預案第二章2.1 學生信息管理系統(tǒng)的介紹2.1 學生信息管理系統(tǒng)的介紹 學生信息管理系統(tǒng)主要分為四種模塊:錄入模塊、刪除模塊、修改模塊、查找模塊。逐步對各個模塊的代碼書寫,實現多種功能,讓用戶快速而便捷地使用學生信息管理系統(tǒng)。用戶可以錄入學生信息,輸入學生的學號從而刪除學生信息、查找學生信息、修改學生信息。2.222.1 開發(fā)方案2.2.1開發(fā)方案 本人計劃編寫一個人學生信息管理系統(tǒng),主要功能是滿足用戶對學生

5、信息的管理,包括錄入、刪除、修改、查詢功能。2. 2.2 模塊設計及分析 本次設計主要分為四種模塊:錄入模塊、刪除模塊、修改模塊、查找模塊、詳細可以參考下圖:FormMain界面用戶登錄FormMain界面操作指令錄 入 學 生 基 本 信 息注 銷 學 生 信 息 管 理 系 統(tǒng)按 學 號 查 找 學 生 信 息按 學 號 刪 除 學 生 信 息按 學 號 修 改 學 生 信 息學生基本信息表圖2-1第三章 設計步驟和要點設計步驟和要點本次設計和數據庫緊密相連,首先我們根據題意設計相關的數據庫以及相關的數據表(book,manager,user)。然后我們把這次的設計內容分成了若干個模塊,逐

6、次實現各個模塊的功能,這樣不僅便于功能的實現,而且外觀美觀,層次清晰。制作過程主要是頁面的設計和相關代碼的編寫。3.1 數據庫設計說明學生信息數據表 列名數據類型數據長度允許null備注 snonchar9不允許學生學號snamenvarchar20允許學生姓名sexnchar2允許學生性別sbirthdaynchar10允許出生日期圖 3-1 學生信息數據表用戶登錄表 列名數據類型數據長度允許null備注idint不允許usernamenvarchar10允許用戶名passwordnvarchar10允許登錄密碼圖 3-2 用戶登錄表3.2 數據庫的完整性和安全性數據庫中關系模型完整性約束:

7、實體完整性、參照完整性、和用戶定義完整性。其實實體完整性和參照完整性是關系模型中必須滿足的完整性條件。因此用戶在使用數據庫必須遵守完整性規(guī)則:實體完整性規(guī)則、參照完整性規(guī)則、用戶定義完整性規(guī)則。在關系模型中以主碼作為唯一標識,因此主碼不能為空。總的來說數據庫完整性是指數據的正確性和相容性。例如本系統(tǒng)中學生學號必須唯一;性別只能是男或女等.數據庫是否具備完整性關系到數據庫系統(tǒng)能否真實地反映現實世界,因此維護數據庫的完整性是非常重要的. 數據庫的安全性是指保護數據庫以防止不合法的使用所造成的數據泄露,更改,或者破壞。安全性問題不是數據庫系統(tǒng)所獨有的,所有計算機系統(tǒng)都有這個問題,只是在數據庫系統(tǒng)中大

8、量數據集中存放,而且為許多最終用戶直接共享,從而使安全問題更為突出,系統(tǒng)安全保護措施是否有效是數據庫系統(tǒng)的主要指標之一.3.3 登錄模板設計 為了系統(tǒng)的安全,在進入系統(tǒng)之前首先會出現一個登錄模塊,用戶只有在輸入正確的用戶名和正確的密碼之后,才能進入系統(tǒng)。 用戶登錄窗體中放置了兩個文本框(textbox),用來輸入用戶名和密碼;兩個按鈕(Button)用來登錄、取消。截圖 1圖 3-3 登錄窗口登錄代碼的關鍵部分和代碼的簡單說明:private void button1_Click(object sender, EventArgs e)/構造函數,返回值空類型, /調用dataaccesslay

9、er層的login()方法,類實例化 SQLHelper sqlhelper = new SQLHelper(); int total = sqlhelper.login(textBoxusername.Text.Trim(), textBoxpasword.Text.Trim();/返回一個整型if (total > 0) FormMain main = new FormMain(); main.Show(); this.Hide(); else textBoxusername.Text = "" textBoxpasword.Text = ""

10、/用戶名和密碼清空 textBoxusername.Focus();/光標恢復原位 MessageBox.Show("用戶名或密碼錯誤", "警告", MessageBoxButtons.OK); 3.4 FormMain主界面設計登陸成功后即可進入FormMain主界面模塊。窗體名稱為學生信息管理系統(tǒng),有兩大主要控件:系統(tǒng)、檔案。其中系統(tǒng)中包括注銷,退出按鈕。 點擊注銷按鈕返回到登錄界面,點擊退出按鈕退出學生管理系統(tǒng);點擊檔案按鈕進入到操作指令(錄入學生信息、刪除學生信息、查找學生信息、修改學生信息)按鈕,點擊一下進入到各個窗口,使用相應的功能。截圖2

11、圖 3-4 學生信息管理系統(tǒng)圖 3-5 學生信息管理系統(tǒng) 設計FormMain主界面的關鍵代碼和代碼的簡單說明:1.private void 注銷ToolStripMenuItem_Click(object sender, EventArgs e) Formlogin login = new Formlogin();login.ShowDialog();/顯示登錄窗口2.private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) this.Close();/退出學生信息管理系統(tǒng)3.private void 錄入學生信息T

12、oolStripMenuItem_Click(object sender, EventArgs e) FormAddStudent addstudent = new FormAddStudent();addstudent.ShowDialog();/顯示錄入學生信息窗口 if (addstudent.DialogResult=DialogResult .OK)/判斷顯示窗口時用的標識是否與 系統(tǒng)中的一樣bind();/調用bind方法4. BindingSource bs = new BindingSource();/綁定數據源這樣的一個類,進行類的實例化 5. public void bin

13、d()/構造函數 bs.DataSource = new SQLHelper().CreateTable(); dataGridView1.DataSource = bs;/通過數據源(DataSource)這個渠道把控件 (dataGridView1)與反饋數據綁定在一起6.private void 刪除學生信息ToolStripMenuItem_Click(object sender, EventArgs e) FormDeleteStudent delete = new FormDeleteStudent();delete.ShowDialog();/刷新網格 if ( delete.D

14、ialogResult = DialogResult.OK) bind(); 7.進入查詢窗口的實現兩句代碼:Studentserch search = new Studentserch(); search.ShowDialog();8.Studentmodify modify = new Studentmodify(); modify.ShowDialog();if (modify.DialogResult = DialogResult.OK) bind(); 3.5 錄入學生信息模塊設計 創(chuàng)建一個新的窗體Form2,將Form2改名為錄入學生信息,在該窗體中設置控件,點擊其中的控件按鈕進入

15、相應代碼編寫的地方,進行代碼的編寫。截圖 3圖3-6 錄入學生信息代碼編寫要點和代碼說明:1. string 學號= textBoxsno.Text.Trim();string 姓名= textBoxsname.Text.Trim();string 性別= comboBoxsex.Text.Trim();string 日期= textBoxbirthday.Text.Trim();/定義4個字符串型變量(學號,姓名,性別,日期),分別把控件的內容賦給他們2.try你的代碼;catch ()檢驗并給出提示;3. close();/取消錄入3.6 刪除學生信息模塊設計創(chuàng)建一個新的窗體,將該窗體命名

16、為刪除學生信息,在該窗體中設置控件,點擊其中的控件按鈕進入相應代碼編寫的地方,進行代碼的編寫。將各個控件中屬性名改為易于識別名字,這樣在編寫代碼時不會被混淆。刪除學生信息是已知學號進行刪除的。系統(tǒng)通過錄入功能錄入了學生信息,在通過輸入學號與后臺數據庫中已存的學號進行比較,若相等則刪除,否則不刪除并給出相應提示。 截圖4圖3-7 刪除學生信息代碼編寫要點和代碼說明: new StudentDAO().delete(textBoxsno.Text.Trim();這行代碼是把輸入的學號(textBoxsno中的內容)作為一個參數傳到StudentDAO類中delete構造函數中,然后與 后臺中已存在

17、的學號進行比較。public void delete(string sno) string sql = "delete from student where sno=sno"/定義一個字符串變量并賦值SqlParameter para = new SqlParameter/"SqlParameter"是系統(tǒng)中的類,屬于不能繼承的類。值引用是不能夠繼承的。此行是類的實例化new SqlParameter("sno",SqlDbType.NChar)/"SqlDbType"指定特定的字段和數據類型 ;int i = 0

18、;parai+.Value = sno;sqlhelper.ExecuteNonQuery(sql, para)/傳遞參數到SQLhelper中,與后臺已存數據進行比較之后做出相應的參考。3.7 查找學生信息模塊設計查找學生信息是以知道學生的學號為前提,只要后臺數據庫中已經錄入一些學生的信息,正確輸入學生學號即可查找到要查找的學生信息。實現這個功能,首先要創(chuàng)建一個窗體,設置一些控件。點擊這些控件進行代碼的編寫。下面是查找學生信息模塊的截圖。截圖 5圖3-8 查詢學生信息查詢關鍵代碼的設計和簡單說明:點擊確定按鈕進入代碼編輯位置,進行代碼的編寫。if (textBox1sno.Text = &q

19、uot;" )/判斷學號輸入處是否為空bind();/調用構造函數else bs.DataSource = new SQLHelper().CreateTable1(textBox1sno.Text.Trim();dataGridView2.DataSource = bs;/不相等時,通過數據源(DataSource)這個渠道把控件(dataGridView1)與反饋數據綁定在一起,在控件(dataGrrridView1)中顯示table表。private void bind()MessageBox.Show("查詢失敗,請重新輸入!", "提示&quo

20、t;);textBox1sno.Focus()/光標返回到開始; return;3.8 修改學生信息模塊設計用戶錄入學生信息之后并且發(fā)現錄入有誤,這時就可以使用修改功能。點擊修改按鈕進入修改界面,輸入要修改的學生的學號,再修改學生的其他的信息。點擊確定按鈕,進入編輯位置,進行代碼的編寫。下面是修改界面的的截圖。截圖 6圖 3-9 修改學生信息修改關鍵代碼的設計和簡單說明: 點擊確定按鈕進入編寫代碼位置,進行代碼編寫。(string sno = textBoxsno.Text.Trim();string sname = textBoxsname.Text.Trim();string sex =

21、comboBoxsex.Text.Trim();string sbirthday = textBoxsbirthday.Text.Trim();)這幾段代碼是定義字符串變量,將各種控件中的內容賦值給變量。這句“new StudentDAO().modify(sno, sname, sex, sbirthday)”代碼含義是指將參數傳入到modify構造函數中,進行相應的操作?!皍pdate student set sname=sname where sno=sno update student set sex=sex”這串代碼是用于后臺數據庫的更新,從而實現系統(tǒng)刪除功能的實現。 第四章 系統(tǒng)測

22、試第四章 系統(tǒng)測試 4.1 登錄測試圖41 登錄測試輸入用戶名和密碼,進入學生信息管理系統(tǒng):圖41 登錄測試4.2 錄入測試 現在系統(tǒng)中有五個學生信息,使用錄入功能錄入一個學號為“006號”的學生信息,如圖所示:圖 4-2 錄入測試4.3 刪除測試 上圖已存在六個學生的信息,現要刪除學號為”002號、006號“的學生信息。操作結果如圖所示:圖4-3 刪除測試4.4 查找測試 查詢學號為”001號“學生的信息,查詢結果如圖所示:圖4-4 查詢學生信息4.5 修改測試 修改學號為”003號“的學生信息。如圖所示:分別將姓名、性別、出生日期中信息改為“王小寶、女、1990-12-01”。修改后的結果

23、如圖所示:圖4-5 修改學生信息第五章 設計感悟第5章 結論 通過這段時間的學習,讓我對C#有了新的認識。要想學好這門語言,需要長期的知識積累和上機實踐并且不斷地總結經驗。在用C#開發(fā)一個項目時,遇到自己不能解決的問題可以通過積極思考、查詢資料、詢問老師、同學這些方式來解決。 這次我設計的課題是學生信息管理系統(tǒng)。在設計這個課題的過程中,面對著許多問題,,在本次設計過程中,我是逐步對每個模塊進行編碼設計,完成每個功能。要求在每個階段結束之前通過人工檢查,完善每個模塊的功能,盡早發(fā)現錯誤并糾正,完成每個模塊測試之后再進行系統(tǒng)測試。致謝致謝 這次課程設計主要感謝我們的指導老師(王磊)。在這個項目剛剛

24、確定下來,我們一頭霧水,不知如何開發(fā)。因此前期的制作,主要是老師和我們一起開發(fā)并且給我們講解。在老師的引導下,我們逐步完成了整個項目的研發(fā)。在這里我們感謝指導老師。參考文獻參考文獻1王珊,薩師煊數據庫系統(tǒng)概述,高等教育出版社2 C#高級程序設計,清華大學出版社附錄:程序清單附錄:程序清單/登錄using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.F

25、orms;using DataAccessLayer;namespace StudentMIs public partial class Formlogin : Form public Formlogin() InitializeComponent(); private void button1_Click(object sender, EventArgs e) /調用dataaccesslayer層的login()方法, SQLHelper sqlhelper = new SQLHelper(); inttotal = sqlhelper.login(textBoxusername.Text

26、.Trim(), textBoxpasword.Text.Trim();if (total > 0) FormMain main = new FormMain(); main.Show(); this.Hide(); else textBoxusername.Text = "" textBoxpasword.Text = "" textBoxusername.Focus(); MessageBox.Show("用戶名或密碼錯誤", "警告", MessageBoxButtons.OK);private voi

27、d label2_Click(object sender, EventArgs e) private void Formlogin_Load(object sender, EventArgs e) private void textBoxpasword_TextChanged(object sender, EventArgs e) /FormMain主界面using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using Sy

28、stem.Text;using System.Windows.Forms;using DataAccessLayer;namespace StudentMIs public partial class FormMain : Form public FormMain() InitializeComponent(); private void 錄入學生信息ToolStripMenuItem_Click(object sender, EventArgs e) FormAddStudent addstudent = new FormAddStudent(); addstudent.ShowDialog

29、(); if (addstudent.DialogResult=DialogResult .OK) bind(); BindingSource bs = new BindingSource(); public void bind() bs.DataSource = new SQLHelper().CreateTable(); dataGridView1.DataSource = bs private void FormMain_Load(object sender, EventArgs e) bind();private void 刪除學生信息ToolStripMenuItem_Click(o

30、bject sender, EventArgs e) FormDeleteStudent delete = new FormDeleteStudent(); delete.ShowDialog(); /刷新網格 if ( delete.DialogResult = DialogResult.OK) bind(); private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) private void 檔案ToolStripMenuItem_Click(object sender,

31、EventArgs e) private void 查詢學生信息ToolStripMenuItem_Click(object sender, EventArgs e) Studentserch search = new Studentserch(); search.ShowDialog(); private void 修改學生信息ToolStripMenuItem_Click(object sender, EventArgs e) Studentmodify modify = new Studentmodify(); modify.ShowDialog(); if (modify.Dialog

32、Result = DialogResult.OK) bind() private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) Application.Exit(); private void 注銷ToolStripMenuItem_Click(object sender, EventArgs e) Formlogin login = new Formlogin(); login.ShowDialog(); /錄入using System;using System.Collections.Generic;using Sys

33、tem.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using DataAccessLayer;using System.Data.SqlClient;namespace StudentMIs public partial class FormAddStudent : Form public FormAddStudent() InitializeComponent(); private void buttonok_Click(object s

34、ender, EventArgs e) string 學號= textBoxsno.Text.Trim(); string 姓名= textBoxsname.Text.Trim(); string 性別= comboBoxsex.Text.Trim(); string 日期= textBoxbirthday.Text.Trim();try new StudentDAO().insert(學號, 姓名, 性別, 日期); this.DialogResult = DialogResult.OK; MessageBox.Show("錄入成功", "提示");

35、catch (SqlException ex) switch (ex.Number) case 2627: MessageBox.Show("已經存在此學號!請檢查。", "錯誤:", MessageBoxButtons.OK, MessageBoxIcon.Error); break;default: string info = string.Format("訪問數據庫出錯!n具體原因為:0n錯誤代碼:1", ex.Message, ex.Number); MessageBox.Show(info); break; return;

36、catch (Exception err) MessageBox.Show(err.Message, "出錯了:", MessageBoxButtons.OK, MessageBoxIcon.Error); return; private void label1_Click(object sender, EventArgs e) private void FormAddStudent_Load(object sender, EventArgs e) private void textBoxsno_TextChanged(object sender, EventArgs e)

37、 private void buttoncancel_Click(object sender, EventArgs e) Close(); /刪除using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using DataAccessLayer;using System.Data.SqlClient;namespace StudentMI

38、s public partial class FormDeleteStudent : Form public FormDeleteStudent() InitializeComponent(); private void buttonok_Click(object sender, EventArgs e) new StudentDAO().delete(textBoxsno.Text.Trim(); this.DialogResult = DialogResult.OK; MessageBox.Show("刪除成功", "提示");private voi

39、d FormDeleteStudent_Load(object sender, EventArgs e) private void textBoxsno_TextChanged(object sender, EventArgs e) private void button2_Click(object sender, EventArgs e) Close(); /查找using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;usi

40、ng System.Text;using System.Windows.Forms;using System.Data.SqlClient;using DataAccessLayer;namespace StudentMIs public partial class Studentserch : Form public Studentserch() InitializeComponent(); private void StdentSelect_Load(object sender, EventArgs e) private void textBox1_TextChanged(object s

41、ender, EventArgs e) BindingSource bs = new BindingSource(); private void buttonok_Click(object sender, EventArgs e) if (textBox1sno.Text = "" ) bind(); else bs.DataSource = new SQLHelper().CreateTable1(textBox1sno.Text.Trim(); dataGridView2.DataSource = bs;private void bind() MessageBox.Sh

42、ow("查詢失敗,請重新輸入!", "提示"); textBox1sno.Focus(); return; private void textBox1_TextChanged_1(object sender, EventArgs e) private void buttoncancle_Click(object sender, EventArgs e) private void textBoxsno_TextChanged(object sender, EventArgs e) private void textBoxsname_TextChanged(

43、object sender, EventArgs e) private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) private void button1_Click(object sender, EventArgs e) Close(); /修改using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;usin

44、g System.Text;using System.Windows.Forms;using DataAccessLayer;namespace StudentMIs public partial class Studentmodify : Form public Studentmodify() InitializeComponent(); private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) private void button0k_Click(object sender, EventArgs e)

45、string sno = textBoxsno.Text.Trim(); string sname = textBoxsname.Text.Trim(); string sex = comboBoxsex.Text.Trim(); string sbirthday = textBoxsbirthday.Text.Trim(); new StudentDAO().modify(sno, sname, sex, sbirthday); this.DialogResult = DialogResult.OK; MessageBox.Show("修改成功!", "提示"); private void textBox1_TextChanged(object sender, EventArgs e) private void Studentmodify_Load(object sender, EventArgs e) private void textBoxsname_TextChanged(object sender, EventArgs e) private void textBoxsbirthday_TextChanged(object sender, EventA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論