




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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ī)系專業(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)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一個(gè)重要部分,信息查詢系統(tǒng)是一個(gè)由用戶和計(jì)算機(jī)組成的進(jìn)行信息管理、信息收集、存儲(chǔ)處理、傳遞使用和維護(hù)的軟件系統(tǒng)。學(xué)生信息管理系統(tǒng)是學(xué)校管理學(xué)生信息的一種必不可少的的工具,它相對(duì)與手工書(shū)寫(xiě)管理更加便利,快捷,節(jié)約大量時(shí)間,大幅提高日常查詢效率。
2、關(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)可以滿足用戶的需求,具體體現(xiàn)在對(duì)學(xué)生信息的錄入,修改,查詢,修改等操作。實(shí)現(xiàn)其中的操作除了對(duì)各個(gè)類中代碼書(shū)寫(xiě),更重要的還需要書(shū)寫(xiě)與后臺(tái)數(shù)據(jù)庫(kù)交互的代碼, 滿足數(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 .查詢已知學(xué)號(hào)
3、的學(xué)生信息; 關(guān)鍵詞 登錄(Login),錄入(FormAddStudent),修改(studentmodify),刪除(studentdelete) ,查詢(studensearch)第一章 引言(或概述)第一章 引言(或概述) 學(xué)生信息管理系統(tǒng)開(kāi)發(fā)我們需具備對(duì)后臺(tái)數(shù)據(jù)庫(kù)表的建立,插入,查詢,刪除,更新,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é)的基本知識(shí)和技能
4、,進(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)多種功能,讓用戶快速而便捷地使用學(xué)生信息管理系統(tǒng)。用戶可以錄入學(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),主要功能是滿足用戶對(duì)學(xué)生
5、信息的管理,包括錄入、刪除、修改、查詢功能。2. 2.2 模塊設(shè)計(jì)及分析 本次設(shè)計(jì)主要分為四種模塊:錄入模塊、刪除模塊、修改模塊、查找模塊、詳細(xì)可以參考下圖:FormMain界面用戶登錄FormMain界面操作指令錄 入 學(xué) 生 基 本 信 息注 銷 學(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)容分成了若干個(gè)模塊,逐
6、次實(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ù)類型數(shù)據(jù)長(zhǎng)度允許null備注 snonchar9不允許學(xué)生學(xué)號(hào)snamenvarchar20允許學(xué)生姓名sexnchar2允許學(xué)生性別sbirthdaynchar10允許出生日期圖 3-1 學(xué)生信息數(shù)據(jù)表用戶登錄表 列名數(shù)據(jù)類型數(shù)據(jù)長(zhǎng)度允許null備注idint不允許usernamenvarchar10允許用戶名passwordnvarchar10允許登錄密碼圖 3-2 用戶登錄表3.2 數(shù)據(jù)庫(kù)的完整性和安全性數(shù)據(jù)庫(kù)中關(guān)系模型完整性約束:
7、實(shí)體完整性、參照完整性、和用戶定義完整性。其實(shí)實(shí)體完整性和參照完整性是關(guān)系模型中必須滿足的完整性條件。因此用戶在使用數(shù)據(jù)庫(kù)必須遵守完整性規(guī)則:實(shí)體完整性規(guī)則、參照完整性規(guī)則、用戶定義完整性規(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)題,只是在數(shù)據(jù)庫(kù)系統(tǒng)中大
8、量數(shù)據(jù)集中存放,而且為許多最終用戶直接共享,從而使安全問(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è)登錄模塊,用戶只有在輸入正確的用戶名和正確的密碼之后,才能進(jìn)入系統(tǒng)。 用戶登錄窗體中放置了兩個(gè)文本框(textbox),用來(lái)輸入用戶名和密碼;兩個(gè)按鈕(Button)用來(lái)登錄、取消。截圖 1圖 3-3 登錄窗口登錄代碼的關(guān)鍵部分和代碼的簡(jiǎn)單說(shuō)明:private void button1_Click(object sender, EventArgs e)/構(gòu)造函數(shù),返回值空類型, /調(diào)用dataaccesslay
9、er層的login()方法,類實(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、/用戶名和密碼清空 textBoxusername.Focus();/光標(biāo)恢復(fù)原位 MessageBox.Show("用戶名或密碼錯(cuò)誤", "警告", MessageBoxButtons.OK); 3.4 FormMain主界面設(shè)計(jì)登陸成功后即可進(jìn)入FormMain主界面模塊。窗體名稱為學(xué)生信息管理系統(tǒng),有兩大主要控件:系統(tǒng)、檔案。其中系統(tǒng)中包括注銷,退出按鈕。 點(diǎn)擊注銷按鈕返回到登錄界面,點(diǎn)擊退出按鈕退出學(xué)生管理系統(tǒng);點(diǎn)擊檔案按鈕進(jìn)入到操作指令(錄入學(xué)生信息、刪除學(xué)生信息、查找學(xué)生信息、修改學(xué)生信息)按鈕,點(diǎn)擊一下進(jìn)入到各個(gè)窗口,使用相應(yīng)的功能。截圖2
11、圖 3-4 學(xué)生信息管理系統(tǒng)圖 3-5 學(xué)生信息管理系統(tǒng) 設(shè)計(jì)FormMain主界面的關(guān)鍵代碼和代碼的簡(jiǎn)單說(shuō)明: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();/退出學(xué)生信息管理系統(tǒng)3.private void 錄入學(xué)生信息T
12、oolStripMenuItem_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è)類,進(jìn)行類的實(shí)例化 5. public void bin
13、d()/構(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();/刷新網(wǎng)格 if ( delete.D
14、ialogResult = DialogResult.OK) bind(); 7.進(jì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é)生信息,在該窗體中設(shè)置控件,點(diǎn)擊其中的控件按鈕進(jìn)入
15、相應(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é)生信息模塊設(shè)計(jì)創(chuàng)建一個(gè)新的窗體,將該窗體命名
16、為刪除學(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類中delete構(gòu)造函數(shù)中,然后與 后臺(tái)中已存在
17、的學(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)中的類,屬于不能繼承的類。值引用是不能夠繼承的。此行是類的實(shí)例化new SqlParameter("sno",SqlDbType.NChar)/"SqlDbType"指定特定的字段和數(shù)據(jù)類型 ;int i = 0
18、;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 查詢學(xué)生信息查詢關(guān)鍵代碼的設(shè)計(jì)和簡(jiǎn)單說(shuō)明:點(diǎn)擊確定按鈕進(jìn)入代碼編輯位置,進(jìn)行代碼的編寫(xiě)。if (textBox1sno.Text = &q
19、uot;" )/判斷學(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("查詢失敗,請(qǐng)重新輸入!", "提示&quo
20、t;);textBox1sno.Focus()/光標(biāo)返回到開(kāi)始; return;3.8 修改學(xué)生信息模塊設(shè)計(jì)用戶錄入學(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 = textBoxsname.Text.Trim();string sex =
21、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)的操作?!皍pdate student set sname=sname where sno=sno update student set sex=sex”這串代碼是用于后臺(tái)數(shù)據(jù)庫(kù)的更新,從而實(shí)現(xiàn)系統(tǒng)刪除功能的實(shí)現(xiàn)。 第四章 系統(tǒng)測(cè)
22、試第四章 系統(tǒng)測(cè)試 4.1 登錄測(cè)試圖41 登錄測(cè)試輸入用戶名和密碼,進(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è)試 查詢學(xué)號(hào)為”001號(hào)“學(xué)生的信息,查詢結(jié)果如圖所示:圖4-4 查詢學(xué)生信息4.5 修改測(cè)試 修改學(xué)號(hào)為”003號(hào)“的學(xué)生信息。如圖所示:分別將姓名、性別、出生日期中信息改為“王小寶、女、1990-12-01”。修改后的結(jié)果
23、如圖所示:圖4-5 修改學(xué)生信息第五章 設(shè)計(jì)感悟第5章 結(jié)論 通過(guò)這段時(shí)間的學(xué)習(xí),讓我對(duì)C#有了新的認(rèn)識(shí)。要想學(xué)好這門語(yǔ)言,需要長(zhǎng)期的知識(shí)積累和上機(jī)實(shí)踐并且不斷地總結(jié)經(jīng)驗(yàn)。在用C#開(kāi)發(fā)一個(gè)項(xiàng)目時(shí),遇到自己不能解決的問(wèn)題可以通過(guò)積極思考、查詢資料、詢問(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è)試。致謝致謝 這次課程設(shè)計(jì)主要感謝我們的指導(dǎo)老師(王磊)。在這個(gè)項(xiàng)目剛剛
24、確定下來(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;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) /調(diào)用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("用戶名或密碼錯(cuò)誤", "警告", 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 錄入學(xué)生信息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 刪除學(xué)生信息ToolStripMenuItem_Click(o
30、bject 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 檔案ToolStripMenuItem_Click(object sender,
31、EventArgs e) private void 查詢學(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(); 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 學(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.Show("錄入成功", "提示");
35、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("訪問(wèn)數(shù)據(jù)庫(kù)出錯(cuò)!n具體原因?yàn)椋?n錯(cuò)誤代碼:1", ex.Message, ex.Number); MessageBox.Show(info); break; return;
36、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 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("查詢失敗,請(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, 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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南省昆明市西山區(qū)民中2024-2025學(xué)年數(shù)學(xué)高二下期末教學(xué)質(zhì)量檢測(cè)模擬試題含解析
- 西南名校2025屆物理高二下期末復(fù)習(xí)檢測(cè)試題含解析
- 浙江省金蘭教育合作組織2025年高二數(shù)學(xué)第二學(xué)期期末達(dá)標(biāo)測(cè)試試題含解析
- 財(cái)產(chǎn)保全擔(dān)保合同(金融借貸合同中的資產(chǎn)保全協(xié)議)
- 節(jié)能環(huán)保車輛承運(yùn)合同與綠色運(yùn)輸服務(wù)管理細(xì)則
- 風(fēng)險(xiǎn)管理型柴油發(fā)電機(jī)組采購(gòu)合同
- 財(cái)務(wù)總監(jiān)股權(quán)激勵(lì)勞動(dòng)合同
- 股權(quán)激勵(lì)稅務(wù)籌劃與咨詢合同
- 車輛掛靠業(yè)務(wù)合作經(jīng)營(yíng)合同
- 股權(quán)收購(gòu)代理股權(quán)過(guò)戶執(zhí)行合同
- 2025-2030中國(guó)酸奶冰淇淋市場(chǎng)需求前景預(yù)測(cè)及投資效益盈利性研究報(bào)告
- 2025年高考英語(yǔ)應(yīng)用文第09講 讀后續(xù)寫(xiě)分話題萬(wàn)能結(jié)尾滿分句(講義)
- 新媒體國(guó)企面試題及答案
- 寶寶改姓夫妻協(xié)議書(shū)
- 央企華潤(rùn)集團(tuán)杭州片區(qū)年度品牌傳播策略案
- 《社區(qū)公園》課件
- 2024年海南三亞事業(yè)單位招聘考試真題答案解析
- 互聯(lián)網(wǎng)公司民事起訴狀模板
- 科目一急救考試題及答案
- 2025閩教版英語(yǔ)三年級(jí)下冊(cè)單詞表
- 兩人合伙開(kāi)燒烤店協(xié)議
評(píng)論
0/150
提交評(píng)論