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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

2、詢(xún)效率。 關(guān)于學(xué)生信息管理系統(tǒng),論文主要分幾個(gè)重點(diǎn)部分來(lái)介紹它的功能的實(shí)現(xiàn)。對(duì)各個(gè)功能的描述,內(nèi)容簡(jiǎn)潔,明了,結(jié)構(gòu)緊湊 。學(xué)生信息管理系統(tǒng)可以滿(mǎn)足用戶(hù)的需求,具體體現(xiàn)在對(duì)學(xué)生信息的錄入,修改,查詢(xún),修改等操作。實(shí)現(xiàn)其中的操作除了對(duì)各個(gè)類(lèi)中代碼書(shū)寫(xiě),更重要的還需要書(shū)寫(xiě)與后臺(tái)數(shù)據(jù)庫(kù)交互的代碼, 滿(mǎn)足數(shù)據(jù)庫(kù)信息的輸入和輸出。學(xué)生信息管理系統(tǒng)的開(kāi)發(fā)目的是為了實(shí)現(xiàn)學(xué)生個(gè)人信息的信息化管理。本系統(tǒng)需要完成功能有:1 .登錄學(xué)生管理系統(tǒng);2 .錄入學(xué)生信息,包括學(xué)號(hào),姓名,性別,出生日期;3 .修改已知學(xué)號(hào)的學(xué)生信息;4 .刪除已知學(xué)號(hào)的學(xué)生信息; 5 .查

3、詢(xún)已知學(xué)號(hào)的學(xué)生信息; 關(guān)鍵詞 登錄(Login),錄入(FormAddStudent),修改(studentmodify),刪除(studentdelete) ,查詢(xún)(studensearch)第一章 引言(或概述)第一章 引言(或概述) 學(xué)生信息管理系統(tǒng)開(kāi)發(fā)我們需具備對(duì)后臺(tái)數(shù)據(jù)庫(kù)表的建立,插入,查詢(xún),刪除,更新,Visual Studio2005 工具的使用 和面向?qū)ο驝#語(yǔ)言等知識(shí)。通過(guò)對(duì)學(xué)生信息管理系統(tǒng)的設(shè)計(jì)慢慢了解,深入學(xué)習(xí),從而達(dá)到熟練掌握.NET基本結(jié)構(gòu)以及C#語(yǔ)言的基本知識(shí)和技能;基本掌握面向?qū)ο蟪绦蜷_(kāi)發(fā)的基本思路和方法;掌握ADO.NET數(shù)據(jù)庫(kù)開(kāi)發(fā)基本知識(shí);能夠利用所學(xué)的基本

4、知識(shí)和技能,進(jìn)行簡(jiǎn)單數(shù)據(jù)庫(kù)應(yīng)用程序設(shè)計(jì)。根據(jù)課題的要求,給出解決問(wèn)題的方案,通過(guò)分析問(wèn)題、分解問(wèn)題來(lái)解決問(wèn)題,最終達(dá)到熟練掌握C#語(yǔ)言的運(yùn)用和Visual Studio2005工具的使用。第二章 設(shè)計(jì)預(yù)案第二章2.1 學(xué)生信息管理系統(tǒng)的介紹2.1 學(xué)生信息管理系統(tǒng)的介紹 學(xué)生信息管理系統(tǒng)主要分為四種模塊:錄入模塊、刪除模塊、修改模塊、查找模塊。逐步對(duì)各個(gè)模塊的代碼書(shū)寫(xiě),實(shí)現(xiàn)多種功能,讓用戶(hù)快速而便捷地使用學(xué)生信息管理系統(tǒng)。用戶(hù)可以錄入學(xué)生信息,輸入學(xué)生的學(xué)號(hào)從而刪除學(xué)生信息、查找學(xué)生信息、修改學(xué)生信息。 2.222.1 開(kāi)發(fā)方案 2.2.1開(kāi)發(fā)方案 本人計(jì)劃編寫(xiě)一個(gè)人學(xué)生信息管理系統(tǒng),主要功能

5、是滿(mǎn)足用戶(hù)對(duì)學(xué)生信息的管理,包括錄入、刪除、修改、查詢(xún)功能。2. 2.2 模塊設(shè)計(jì)及分析 本次設(shè)計(jì)主要分為四種模塊:錄入模塊、刪除模塊、修改模塊、查找模塊、詳細(xì)可以參考下圖:FormMain界面用戶(hù)登錄FormMain界面操作指令錄 入 學(xué) 生 基 本 信 息注 銷(xiāo) 學(xué) 生 信 息 管 理 系 統(tǒng)按 學(xué) 號(hào) 查 找 學(xué) 生 信 息按 學(xué) 號(hào) 刪 除 學(xué) 生 信 息按 學(xué) 號(hào) 修 改 學(xué) 生 信 息學(xué)生基本信息表圖2-1第三章 設(shè)計(jì)步驟和要點(diǎn)設(shè)計(jì)步驟和要點(diǎn)本次設(shè)計(jì)和數(shù)據(jù)庫(kù)緊密相連,首先我們根據(jù)題意設(shè)計(jì)相關(guān)的數(shù)據(jù)庫(kù)以及相關(guān)的數(shù)據(jù)表(book,manager,user)。然后我們把這次的設(shè)計(jì)內(nèi)容分成

6、了若干個(gè)模塊,逐次實(shí)現(xiàn)各個(gè)模塊的功能,這樣不僅便于功能的實(shí)現(xiàn),而且外觀美觀,層次清晰。制作過(guò)程主要是頁(yè)面的設(shè)計(jì)和相關(guān)代碼的編寫(xiě)。3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明學(xué)生信息數(shù)據(jù)表 列名數(shù)據(jù)類(lèi)型數(shù)據(jù)長(zhǎng)度允許null備注 snonchar9不允許學(xué)生學(xué)號(hào)snamenvarchar20允許學(xué)生姓名sexnchar2允許學(xué)生性別sbirthdaynchar10允許出生日期圖 3-1 學(xué)生信息數(shù)據(jù)表用戶(hù)登錄表 列名數(shù)據(jù)類(lèi)型數(shù)據(jù)長(zhǎng)度允許null備注idint不允許usernamenvarchar10允許用戶(hù)名passwordnvarchar10允許登錄密碼圖 3-2 用戶(hù)登錄表3.2 數(shù)據(jù)庫(kù)的完整性和安全性數(shù)據(jù)庫(kù)中關(guān)系

7、模型完整性約束:實(shí)體完整性、參照完整性、和用戶(hù)定義完整性。其實(shí)實(shí)體完整性和參照完整性是關(guān)系模型中必須滿(mǎn)足的完整性條件。因此用戶(hù)在使用數(shù)據(jù)庫(kù)必須遵守完整性規(guī)則:實(shí)體完整性規(guī)則、參照完整性規(guī)則、用戶(hù)定義完整性規(guī)則。在關(guān)系模型中以主碼作為唯一標(biāo)識(shí),因此主碼不能為空??偟膩?lái)說(shuō)數(shù)據(jù)庫(kù)完整性是指數(shù)據(jù)的正確性和相容性。例如本系統(tǒng)中學(xué)生學(xué)號(hào)必須唯一;性別只能是男或女等.數(shù)據(jù)庫(kù)是否具備完整性關(guān)系到數(shù)據(jù)庫(kù)系統(tǒng)能否真實(shí)地反映現(xiàn)實(shí)世界,因此維護(hù)數(shù)據(jù)庫(kù)的完整性是非常重要的. 數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)泄露,更改,或者破壞。安全性問(wèn)題不是數(shù)據(jù)庫(kù)系統(tǒng)所獨(dú)有的,所有計(jì)算機(jī)系統(tǒng)都有這個(gè)問(wèn)題,只是

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

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

10、quot;"/用戶(hù)名和密碼清空 textBoxusername.Focus();/光標(biāo)恢復(fù)原位 MessageBox.Show("用戶(hù)名或密碼錯(cuò)誤", "警告", MessageBoxButtons.OK); 3.4 FormMain主界面設(shè)計(jì)登陸成功后即可進(jìn)入FormMain主界面模塊。窗體名稱(chēng)為學(xué)生信息管理系統(tǒng),有兩大主要控件:系統(tǒng)、檔案。其中系統(tǒng)中包括注銷(xiāo),退出按鈕。 點(diǎn)擊注銷(xiāo)按鈕返回到登錄界面,點(diǎn)擊退出按鈕退出學(xué)生管理系統(tǒng);點(diǎn)擊檔案按鈕進(jìn)入到操作指令(錄入學(xué)生信息、刪除學(xué)生信息、查找學(xué)生信息、修改學(xué)生信息)按鈕,點(diǎn)擊一下進(jìn)入到各個(gè)窗口,

11、使用相應(yīng)的功能。截圖2 圖 3-4 學(xué)生信息管理系統(tǒng)圖 3-5 學(xué)生信息管理系統(tǒng) 設(shè)計(jì)FormMain主界面的關(guān)鍵代碼和代碼的簡(jiǎn)單說(shuō)明: 1.private void 注銷(xiāo)ToolStripMenuItem_Click(object sender, EventArgs e) Formlogin login = new Formlogin(); login.ShowDialog();/顯示登錄窗口 2.private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) this.Close();/退出學(xué)生信息管理系統(tǒng) 3.priv

12、ate void 錄入學(xué)生信息ToolStripMenuItem_Click(object sender, EventArgs e) FormAddStudent addstudent = new FormAddStudent(); addstudent.ShowDialog();/顯示錄入學(xué)生信息窗口 if (addstudent.DialogResult=DialogResult .OK)/判斷顯示窗口時(shí)用的標(biāo)識(shí)是否與 系統(tǒng)中的一樣bind();/調(diào)用bind方法4. BindingSource bs = new BindingSource();/綁定數(shù)據(jù)源這樣的一個(gè)類(lèi),進(jìn)行類(lèi)的實(shí)例化 5

13、. public void bind()/構(gòu)造函數(shù) bs.DataSource = new SQLHelper().CreateTable(); dataGridView1.DataSource = bs;/通過(guò)數(shù)據(jù)源(DataSource)這個(gè)渠道把控件 (dataGridView1)與反饋數(shù)據(jù)綁定在一起6. private void 刪除學(xué)生信息ToolStripMenuItem_Click(object sender, EventArgs e) FormDeleteStudent delete = new FormDeleteStudent(); delete.ShowDialog();

14、/刷新網(wǎng)格 if ( delete.DialogResult = DialogResult.OK) bind(); 7. 進(jìn)入查詢(xún)窗口的實(shí)現(xiàn)兩句代碼:Studentserch search = new Studentserch(); search.ShowDialog(); 8.Studentmodify modify = new Studentmodify(); modify.ShowDialog();if (modify.DialogResult = DialogResult.OK) bind(); 3.5 錄入學(xué)生信息模塊設(shè)計(jì) 創(chuàng)建一個(gè)新的窗體Form2,將Form2改名為錄入學(xué)生信息,

15、在該窗體中設(shè)置控件,點(diǎn)擊其中的控件按鈕進(jìn)入相應(yīng)代碼編寫(xiě)的地方,進(jìn)行代碼的編寫(xiě)。截圖 3圖3-6 錄入學(xué)生信息代碼編寫(xiě)要點(diǎn)和代碼說(shuō)明:1. string 學(xué)號(hào)= textBoxsno.Text.Trim();string 姓名= textBoxsname.Text.Trim();string 性別= comboBoxsex.Text.Trim();string 日期= textBoxbirthday.Text.Trim();/定義4個(gè)字符串型變量(學(xué)號(hào),姓名,性別,日期),分別把控件的內(nèi)容賦給他們2.try你的代碼;catch ()檢驗(yàn)并給出提示;3. close();/取消錄入 3.6 刪除學(xué)

16、生信息模塊設(shè)計(jì)創(chuàng)建一個(gè)新的窗體,將該窗體命名為刪除學(xué)生信息,在該窗體中設(shè)置控件,點(diǎn)擊其中的控件按鈕進(jìn)入相應(yīng)代碼編寫(xiě)的地方,進(jìn)行代碼的編寫(xiě)。將各個(gè)控件中屬性名改為易于識(shí)別名字,這樣在編寫(xiě)代碼時(shí)不會(huì)被混淆。刪除學(xué)生信息是已知學(xué)號(hào)進(jìn)行刪除的。系統(tǒng)通過(guò)錄入功能錄入了學(xué)生信息,在通過(guò)輸入學(xué)號(hào)與后臺(tái)數(shù)據(jù)庫(kù)中已存的學(xué)號(hào)進(jìn)行比較,若相等則刪除,否則不刪除并給出相應(yīng)提示。 截圖4圖3-7 刪除學(xué)生信息 代碼編寫(xiě)要點(diǎn)和代碼說(shuō)明: new StudentDAO().delete(textBoxsno.Text.Trim();這行代碼是把輸入的學(xué)號(hào)(textBoxsno中的內(nèi)容)作為一個(gè)參數(shù)傳到StudentDAO類(lèi)

17、中delete構(gòu)造函數(shù)中,然后與 后臺(tái)中已存在的學(xué)號(hào)進(jìn)行比較。public void delete(string sno) string sql = "delete from student where sno=sno"/定義一個(gè)字符串變量并賦值 SqlParameter para = new SqlParameter/"SqlParameter"是系統(tǒng)中的類(lèi),屬于不能繼承的類(lèi)。值引用是不能夠繼承的。此行是類(lèi)的實(shí)例化new SqlParameter("sno",SqlDbType.NChar)/ "SqlDbType&quo

18、t;指定特定的字段和數(shù)據(jù)類(lèi)型 ;int i = 0;parai+.Value = sno;sqlhelper.ExecuteNonQuery(sql, para)/傳遞參數(shù)到SQLhelper中,與后臺(tái)已存數(shù)據(jù)進(jìn)行比較之后做出相應(yīng)的參考。 3.7 查找學(xué)生信息模塊設(shè)計(jì)查找學(xué)生信息是以知道學(xué)生的學(xué)號(hào)為前提,只要后臺(tái)數(shù)據(jù)庫(kù)中已經(jīng)錄入一些學(xué)生的信息,正確輸入學(xué)生學(xué)號(hào)即可查找到要查找的學(xué)生信息。實(shí)現(xiàn)這個(gè)功能,首先要?jiǎng)?chuàng)建一個(gè)窗體,設(shè)置一些控件。點(diǎn)擊這些控件進(jìn)行代碼的編寫(xiě)。下面是查找學(xué)生信息模塊的截圖。 截圖 5圖3-8 查詢(xún)學(xué)生信息查詢(xún)關(guān)鍵代碼的設(shè)計(jì)和簡(jiǎn)單說(shuō)明:點(diǎn)擊確定按鈕進(jìn)入代碼編輯位置,進(jìn)行代碼的編

19、寫(xiě)。if (textBox1sno.Text = "" )/判斷學(xué)號(hào)輸入處是否為空bind();/調(diào)用構(gòu)造函數(shù)else bs.DataSource = new SQLHelper().CreateTable1(textBox1sno.Text.Trim();dataGridView2.DataSource = bs;/不相等時(shí), 通過(guò)數(shù)據(jù)源(DataSource)這個(gè)渠道把控件(dataGridView1)與反饋數(shù)據(jù)綁定在一起,在控件(dataGrrridView1)中顯示table表。 private void bind()MessageBox.Show("查詢(xún)

20、失敗,請(qǐng)重新輸入!", "提示");textBox1sno.Focus()/光標(biāo)返回到開(kāi)始; return;3.8 修改學(xué)生信息模塊設(shè)計(jì)用戶(hù)錄入學(xué)生信息之后并且發(fā)現(xiàn)錄入有誤,這時(shí)就可以使用修改功能。點(diǎn)擊修改按鈕進(jìn)入修改界面,輸入要修改的學(xué)生的學(xué)號(hào),再修改學(xué)生的其他的信息。點(diǎn)擊確定按鈕,進(jìn)入編輯位置,進(jìn)行代碼的編寫(xiě)。下面是修改界面的的截圖。截圖 6 圖 3-9 修改學(xué)生信息修改關(guān)鍵代碼的設(shè)計(jì)和簡(jiǎn)單說(shuō)明: 點(diǎn)擊確定按鈕進(jìn)入編寫(xiě)代碼位置,進(jìn)行代碼編寫(xiě)。(string sno = textBoxsno.Text.Trim();string sname = textBoxs

21、name.Text.Trim();string sex = comboBoxsex.Text.Trim();string sbirthday = textBoxsbirthday.Text.Trim();)這幾段代碼是定義字符串變量,將各種控件中的內(nèi)容賦值給變量。這句“new StudentDAO().modify(sno, sname, sex, sbirthday)”代碼含義是指將參數(shù)傳入到modify構(gòu)造函數(shù)中,進(jìn)行相應(yīng)的操作。 “update student set sname=sname where sno=sno update student set sex=sex” 這串代碼是用

22、于后臺(tái)數(shù)據(jù)庫(kù)的更新,從而實(shí)現(xiàn)系統(tǒng)刪除功能的實(shí)現(xiàn)。 第四章 系統(tǒng)測(cè)試第四章 系統(tǒng)測(cè)試 4.1 登錄測(cè)試圖41 登錄測(cè)試輸入用戶(hù)名和密碼,進(jìn)入學(xué)生信息管理系統(tǒng): 圖41 登錄測(cè)試4.2 錄入測(cè)試 現(xiàn)在系統(tǒng)中有五個(gè)學(xué)生信息,使用錄入功能錄入一個(gè)學(xué)號(hào)為“006號(hào)”的學(xué)生信息,如圖所示:圖 4-2 錄入測(cè)試 4.3 刪除測(cè)試 上圖已存在六個(gè)學(xué)生的信息,現(xiàn)要?jiǎng)h除學(xué)號(hào)為”002號(hào)、006號(hào)“的學(xué)生信息。操作結(jié)果如圖所示:圖4-3 刪除測(cè)試4.4 查找測(cè)試 查詢(xún)學(xué)號(hào)為”001號(hào)“學(xué)生的信息,查詢(xún)結(jié)果如圖所示:圖4-4 查詢(xún)學(xué)生信息4.5 修改測(cè)試 修改學(xué)號(hào)為”003號(hào)“的學(xué)生信息。如圖所示:分別將姓名、性別、

23、出生日期中信息改為“王小寶、女、1990-12-01”。修改后的結(jié)果如圖所示:圖4-5 修改學(xué)生信息第五章 設(shè)計(jì)感悟第5章 結(jié)論 通過(guò)這段時(shí)間的學(xué)習(xí),讓我對(duì)C#有了新的認(rèn)識(shí)。要想學(xué)好這門(mén)語(yǔ)言,需要長(zhǎng)期的知識(shí)積累和上機(jī)實(shí)踐并且不斷地總結(jié)經(jīng)驗(yàn)。在用C#開(kāi)發(fā)一個(gè)項(xiàng)目時(shí),遇到自己不能解決的問(wèn)題可以通過(guò)積極思考、查詢(xún)資料、詢(xún)問(wèn)老師、同學(xué)這些方式來(lái)解決。 這次我設(shè)計(jì)的課題是學(xué)生信息管理系統(tǒng)。在設(shè)計(jì)這個(gè)課題的過(guò)程中,面對(duì)著許多問(wèn)題,,在本次設(shè)計(jì)過(guò)程中,我是逐步對(duì)每個(gè)模塊進(jìn)行編碼設(shè)計(jì),完成每個(gè)功能。要求在每個(gè)階段結(jié)束之前通過(guò)人工檢查,完善每個(gè)模塊的功能,盡早發(fā)現(xiàn)錯(cuò)誤并糾正,完成每個(gè)模塊測(cè)試之后再進(jìn)行系統(tǒng)測(cè)試。

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

25、g System.Text;using System.Windows.Forms;using DataAccessLayer;namespace StudentMIs public partial class Formlogin : Form public Formlogin() InitializeComponent(); private void button1_Click(object sender, EventArgs e) /調(diào)用dataaccesslayer層的login()方法, SQLHelper sqlhelper = new SQLHelper(); int total =

26、 sqlhelper.login(textBoxusername.Text.Trim(), textBoxpasword.Text.Trim(); if (total > 0) FormMain main = new FormMain(); main.Show(); this.Hide(); else textBoxusername.Text = "" textBoxpasword.Text = "" textBoxusername.Focus(); MessageBox.Show("用戶(hù)名或密碼錯(cuò)誤", "警告&qu

27、ot;, MessageBoxButtons.OK); private void 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 Sy

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

29、FormAddStudent(); addstudent.ShowDialog(); 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(); priv

30、ate void 刪除學(xué)生信息ToolStripMenuItem_Click(object sender, EventArgs e) FormDeleteStudent delete = new FormDeleteStudent(); delete.ShowDialog(); /刷新網(wǎng)格 if ( delete.DialogResult = DialogResult.OK) bind(); private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) private void 檔

31、案ToolStripMenuItem_Click(object sender, EventArgs e) private void 查詢(xún)學(xué)生信息ToolStripMenuItem_Click(object sender, EventArgs e) Studentserch search = new Studentserch(); search.ShowDialog(); private void 修改學(xué)生信息ToolStripMenuItem_Click(object sender, EventArgs e) Studentmodify modify = new Studentmodify()

32、; modify.ShowDialog(); if (modify.DialogResult = DialogResult.OK) bind() private void 退出ToolStripMenuItem_Click(object sender, EventArgs e) Application.Exit(); private void 注銷(xiāo)ToolStripMenuItem_Click(object sender, EventArgs e) Formlogin login = new Formlogin(); login.ShowDialog(); /錄入using System;us

33、ing 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 StudentMIs public partial class FormAddStudent : Form public FormAddStudent() InitializeComponent

34、(); private void buttonok_Click(object sender, EventArgs e) string 學(xué)號(hào)= textBoxsno.Text.Trim(); string 姓名= textBoxsname.Text.Trim(); string 性別= comboBoxsex.Text.Trim(); string 日期= textBoxbirthday.Text.Trim(); try new StudentDAO().insert(學(xué)號(hào), 姓名, 性別, 日期); this.DialogResult = DialogResult.OK; MessageBox

35、.Show("錄入成功", "提示"); catch (SqlException ex) switch (ex.Number) case 2627: MessageBox.Show("已經(jīng)存在此學(xué)號(hào)!請(qǐng)檢查。", "錯(cuò)誤:", MessageBoxButtons.OK, MessageBoxIcon.Error); break; default: string info = string.Format("訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)出錯(cuò)!n具體原因?yàn)椋?n錯(cuò)誤代碼:1", ex.Message, ex.Numbe

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

37、no_TextChanged(object sender, EventArgs e) 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

38、 System.Data.SqlClient;namespace StudentMIs 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(&qu

39、ot;刪除成功", "提示"); private void 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.ComponentMode

40、l;using System.Data;using System.Drawing;using 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

41、) private void textBox1_TextChanged(object sender, 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.DataS

42、ource = bs; private void bind() MessageBox.Show("查詢(xún)失敗,請(qǐng)重新輸入!", "提示"); 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, EventA

43、rgs e) private void textBoxsname_TextChanged(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;u

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論