用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è),還剩50頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

年4月19日用C制作學(xué)生信息管理系統(tǒng)文檔僅供參考課程設(shè)計(jì)(論文)學(xué)生信息管理系統(tǒng)計(jì)算機(jī)系計(jì)算機(jī)科學(xué)與技術(shù)級(jí)3班:馮深海()指導(dǎo)教師:王磊完成日期: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ì)與手工書寫管理更加便利,快捷,節(jié)約大量時(shí)間,大幅提高日常查詢效率。關(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è)類中代碼書寫,更重要的還需要書寫與后臺(tái)數(shù)據(jù)庫(kù)交互的代碼,滿足數(shù)據(jù)庫(kù)信息的輸入和輸出。學(xué)生信息管理系統(tǒng)的開發(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)的學(xué)生信息;關(guān)鍵詞登錄(Login),錄入(FormAddStudent),修改(studentmodify),刪除(studentdelete),查詢(studensearch)第一章引言(或概述)第一章引言(或概述)學(xué)生信息管理系統(tǒng)開發(fā)我們需具備對(duì)后臺(tái)數(shù)據(jù)庫(kù)表的建立,插入,查詢,刪除,更新,VisualStudio工具的使用和面向?qū)ο驝#語(yǔ)言等知識(shí)。經(jīng)過(guò)對(duì)學(xué)生信息管理系統(tǒng)的設(shè)計(jì)慢慢了解,深入學(xué)習(xí),從而達(dá)到熟練掌握.NET基本結(jié)構(gòu)以及C#語(yǔ)言的基本知識(shí)和技能;基本掌握面向?qū)ο蟪绦蜷_發(fā)的基本思路和方法;掌握ADO.NET數(shù)據(jù)庫(kù)開發(fā)基本知識(shí);能夠利用所學(xué)的基本知識(shí)和技能,進(jìn)行簡(jiǎn)單數(shù)據(jù)庫(kù)應(yīng)用程序設(shè)計(jì)。根據(jù)課題的要求,給出解決問(wèn)題的方案,經(jīng)過(guò)分析問(wèn)題、分解問(wèn)題來(lái)解決問(wèn)題,最終達(dá)到熟練掌握C#語(yǔ)言的運(yùn)用和VisualStudio工具的使用。第二章設(shè)計(jì)預(yù)案第二章2.1學(xué)生信息管理系統(tǒng)的介紹2.1學(xué)生信息管理系統(tǒng)的介紹學(xué)生信息管理系統(tǒng)主要分為四種模塊:錄入模塊、刪除模塊、修改模塊、查找模塊。逐步對(duì)各個(gè)模塊的代碼書寫,實(shí)現(xiàn)多種功能,讓用戶快速而便捷地使用學(xué)生信息管理系統(tǒng)。用戶能夠錄入學(xué)生信息,輸入學(xué)生的學(xué)號(hào)從而刪除學(xué)生信息、查找學(xué)生信息、修改學(xué)生信息。2.22.2.1開發(fā)方案2.2.1開發(fā)方案本人計(jì)劃編寫一個(gè)人學(xué)生信息管理系統(tǒng),主要功能是滿足用戶對(duì)學(xué)生信息的管理,包括錄入、刪除、修改、查詢功能。2.2.2模塊設(shè)計(jì)及分析本次設(shè)計(jì)主要分為四種模塊:錄入模塊、刪除模塊、修改模塊、查找模塊、詳細(xì)能夠參考下圖:FormMain界面FormMain界面用戶登錄用戶登錄FFormMain界面操作指令操作指令錄入學(xué)生基本信息注銷學(xué)生信息管理系統(tǒng)按學(xué)號(hào)查找學(xué)生信息按學(xué)號(hào)刪除學(xué)生信息按學(xué)號(hào)修改學(xué)生信息錄入學(xué)生基本信息注銷學(xué)生信息管理系統(tǒng)按學(xué)號(hào)查找學(xué)生信息按學(xué)號(hào)刪除學(xué)生信息按學(xué)號(hào)修改學(xué)生信息學(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è)模塊,逐次實(shí)現(xiàn)各個(gè)模塊的功能,這樣不但便于功能的實(shí)現(xiàn),而且外觀美觀,層次清晰。制作過(guò)程主要是頁(yè)面的設(shè)計(jì)和相關(guān)代碼的編寫。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)系模型完整性約束:實(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)中大量數(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ō)明:privatevoidbutton1_Click(objectsender,EventArgse)//構(gòu)造函數(shù),返回值空類型,{//調(diào)用dataaccesslayer層的login()方法,類實(shí)例化SQLHelpersqlhelper=newSQLHelper();inttotal=sqlhelper.login(textBoxusername.Text.Trim(),textBoxpasword.Text.Trim());//返回一個(gè)整型if(total>0){FormMainmain=newFormMain();main.Show();this.Hide();}else{textBoxusername.Text="";textBoxpasword.Text="";//用戶名和密碼清空textBoxusername.Focus();//光標(biāo)恢復(fù)原位MessageBox.Show("用戶名或密碼錯(cuò)誤","警告",MessageBoxButtons.OK);}}3.4FormMain主界面設(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圖3-4學(xué)生信息管理系統(tǒng)圖3-5學(xué)生信息管理系統(tǒng)設(shè)計(jì)FormMain主界面的關(guān)鍵代碼和代碼的簡(jiǎn)單說(shuō)明:1.privatevoid注銷ToolStripMenuItem_Click(objectsender,EventArgse){Formloginlogin=newFormlogin();login.ShowDialog();//顯示登錄窗口}2.privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse){this.Close();//退出學(xué)生信息管理系統(tǒng)}3.privatevoid錄入學(xué)生信息ToolStripMenuItem_Click(objectsender,EventArgse){FormAddStudentaddstudent=newFormAddStudent();addstudent.ShowDialog();//顯示錄入學(xué)生信息窗口if(addstudent.DialogResult==DialogResult.OK)//判斷顯示窗口時(shí)用的標(biāo)識(shí)是否與系統(tǒng)中的一樣{bind();}//調(diào)用bind方法}BindingSourcebs=newBindingSource();//綁定數(shù)據(jù)源這樣的一個(gè)類,進(jìn)行類的實(shí)例化publicvoidbind()//構(gòu)造函數(shù){bs.DataSource=newSQLHelper().CreateTable();dataGridView1.DataSource=bs;}//經(jīng)過(guò)數(shù)據(jù)源(DataSource)這個(gè)渠道把控件(dataGridView1)與反饋數(shù)據(jù)綁定在一起6.privatevoid刪除學(xué)生信息ToolStripMenuItem_Click(objectsender,EventArgse){FormDeleteStudentdelete=newFormDeleteStudent();delete.ShowDialog();//刷新網(wǎng)格if(delete.DialogResult==DialogResult.OK){bind();}}7.進(jìn)入查詢窗口的實(shí)現(xiàn)兩句代碼:Studentserchsearch=newStudentserch();search.ShowDialog();8.Studentmodifymodify=newStudentmodify();modify.ShowDialog();if(modify.DialogResult==DialogResult.OK){bind();}3.5錄入學(xué)生信息模塊設(shè)計(jì)創(chuàng)立一個(gè)新的窗體Form2,,將Form2改名為錄入學(xué)生信息,在該窗體中設(shè)置控件,點(diǎn)擊其中的控件按鈕進(jìn)入相應(yīng)代碼編寫的地方,進(jìn)行代碼的編寫。截圖3圖3-6錄入學(xué)生信息代碼編寫要點(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)并給出提示};close();//取消錄入3.6刪除學(xué)生信息模塊設(shè)計(jì)創(chuàng)立一個(gè)新的窗體,,將該窗體命名為刪除學(xué)生信息,在該窗體中設(shè)置控件,點(diǎn)擊其中的控件按鈕進(jìn)入相應(yīng)代碼編寫的地方,進(jìn)行代碼的編寫。將各個(gè)控件中屬性名改為易于識(shí)別名字,這樣在編寫代碼時(shí)不會(huì)被混淆。刪除學(xué)生信息是已知學(xué)號(hào)進(jìn)行刪除的。系統(tǒng)經(jīng)過(guò)錄入功能錄入了學(xué)生信息,在經(jīng)過(guò)輸入學(xué)號(hào)與后臺(tái)數(shù)據(jù)庫(kù)中已存的學(xué)號(hào)進(jìn)行比較,若相等則刪除,否則不刪除并給出相應(yīng)提示。截圖4圖3-7刪除學(xué)生信息代碼編寫要點(diǎn)和代碼說(shuō)明:newStudentDAO().delete(textBoxsno.Text.Trim());這行代碼是把輸入的學(xué)號(hào)(textBoxsno中的內(nèi)容)作為一個(gè)參數(shù)傳到StudentDAO類中delete構(gòu)造函數(shù)中,然后與后臺(tái)中已存在的學(xué)號(hào)進(jìn)行比較。publicvoiddelete(stringsno){stringsql="deletefromstudentwheresno=@sno";//定義一個(gè)字符串變量并賦值SqlParameter[]para=newSqlParameter[]//"SqlParameter"是系統(tǒng)中的類,屬于不能繼承的類。值引用是不能夠繼承的。此行是類的實(shí)例化{newSqlParameter("sno",SqlDbType.NChar)//"SqlDbType"指定特定的字段和數(shù)據(jù)類型};inti=0;para[i++].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)行代碼的編寫。下面是查找學(xué)生信息模塊的截圖。截圖5圖3-8查詢學(xué)生信息查詢關(guān)鍵代碼的設(shè)計(jì)和簡(jiǎn)單說(shuō)明:點(diǎn)擊確定按鈕進(jìn)入代碼編輯位置,進(jìn)行代碼的編寫。if(textBox1sno.Text=="")//判斷學(xué)號(hào)輸入處是否為空bind();//調(diào)用構(gòu)造函數(shù)else{bs.DataSource=newSQLHelper().CreateTable1(textBox1sno.Text.Trim());dataGridView2.DataSource=bs;}//不相等時(shí),經(jīng)過(guò)數(shù)據(jù)源(DataSource)這個(gè)渠道把控件(dataGridView1)與反饋數(shù)據(jù)綁定在一起,在控件(dataGrrridView1)中顯示table表。privatevoidbind(){MessageBox.Show("查詢失敗,請(qǐng)重新輸入!","提示");textBox1sno.Focus()//光標(biāo)返回到開始;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)行代碼的編寫。下面是修改界面的的截圖。截圖6圖3-9修改學(xué)生信息修改關(guān)鍵代碼的設(shè)計(jì)和簡(jiǎn)單說(shuō)明:點(diǎn)擊確定按鈕進(jìn)入編寫代碼位置,進(jìn)行代碼編寫。(stringsno=textBoxsno.Text.Trim();stringsname=textBoxsname.Text.Trim();stringsex=comboBoxsex.Text.Trim();stringsbirthday=textBoxsbirthday.Text.Trim();)這幾段代碼是定義字符串變量,將各種控件中的內(nèi)容賦值給變量。這句“newStudentDAO().modify(sno,sname,sex,sbirthday)”代碼含義是指將參數(shù)傳入到modify構(gòu)造函數(shù)中,進(jìn)行相應(yīng)的操作?!皍pdatestudentsetsname=@snamewheresno=@snoupdatestudentsetsex=@sex”這串代碼是用于后臺(tái)數(shù)據(jù)庫(kù)的更新,從而實(shí)現(xiàn)系統(tǒng)刪除功能的實(shí)現(xiàn)。第四章系統(tǒng)測(cè)試第四章系統(tǒng)測(cè)試4.1登錄測(cè)試圖4—1登錄測(cè)試輸入用戶名和密碼,進(jìn)入學(xué)生信息管理系統(tǒng):圖4—1登錄測(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é)果如圖所示:圖4-5修改學(xué)生信息第五章設(shè)計(jì)感悟結(jié)論經(jīng)過(guò)這段時(shí)間的學(xué)習(xí),讓我對(duì)C#有了新的認(rèn)識(shí)。要想學(xué)好這門語(yǔ)言,需要長(zhǎng)期的知識(shí)積累和上機(jī)實(shí)踐而且不斷地總結(jié)經(jīng)驗(yàn)。在用C#開發(fā)一個(gè)項(xiàng)目時(shí),遇到自己不能解決的問(wèn)題能夠經(jīng)過(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é)束之前經(jīng)過(guò)人工檢查,完善每個(gè)模塊的功能,盡早發(fā)現(xiàn)錯(cuò)誤并糾正,完成每個(gè)模塊測(cè)試之后再進(jìn)行系統(tǒng)測(cè)試。致謝致謝這次課程設(shè)計(jì)主要感謝我們的指導(dǎo)老師(王磊)。在這個(gè)項(xiàng)目剛剛確定下來(lái),我們一頭霧水,不知如何開發(fā)。因此前期的制作,主要是老師和我們一起開發(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é)出版社附錄:程序清單附錄:程序清單//登錄usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingDataAccessLayer;namespaceStudentMIs{publicpartialclassFormlogin:Form{publicFormlogin(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){//調(diào)用dataaccesslayer層的login()方法,SQLHelpersqlhelper=newSQLHelper();inttotal=sqlhelper.login(textBoxusername.Text.Trim(),textBoxpasword.Text.Trim());if(total>0){FormMainmain=newFormMain();main.Show();this.Hide();}else{textBoxusername.Text="";textBoxpasword.Text="";textBoxusername.Focus();MessageBox.Show("用戶名或密碼錯(cuò)誤","警告",MessageBoxButtons.OK);}}privatevoidlabel2_Click(objectsender,EventArgse){}privatevoidFormlogin_Load(objectsender,EventArgse){}privatevoidtextBoxpasword_TextChanged(objectsender,EventArgse){}}}//FormMain主界面usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingDataAccessLayer;namespaceStudentMIs{publicpartialclassFormMain:Form{publicFormMain(){InitializeComponent();}privatevoid錄入學(xué)生信息ToolStripMenuItem_Click(objectsender,EventArgse){FormAddStudentaddstudent=newFormAddStudent();addstudent.ShowDialog();if(addstudent.DialogResult==DialogResult.OK){bind();}}BindingSourcebs=newBindingSource();publicvoidbind(){bs.DataSource=newSQLHelper().CreateTable();dataGridView1.DataSource=bs}privatevoidFormMain_Load(objectsender,EventArgse){bind();}privatevoid刪除學(xué)生信息ToolStripMenuItem_Click(objectsender,EventArgse){FormDeleteStudentdelete=newFormDeleteStudent();delete.ShowDialog();//刷新網(wǎng)格if(delete.DialogResult==DialogResult.OK){bind();}}privatevoiddataGridView1_CellContentClick(objectsender,DataGridViewCellEventArgse){}privatevoid檔案ToolStripMenuItem_Click(objectsender,EventArgse){}privatevoid查詢學(xué)生信息ToolStripMenuItem_Click(objectsender,EventArgse){Studentserchsearch=newStudentserch();search.ShowDialog();}privatevoid修改學(xué)生信息ToolStripMenuItem_Click(objectsender,EventArgse){Studentmodifymodify=newStudentmodify();modify.ShowDialog();if(modify.DialogResult==DialogResult.OK){bind()}}privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse){Application.Exit();}privatevoid注銷ToolStripMenuItem_Click(objectsender,EventArgse){Formloginlogin=newFormlogin();login.ShowDialog();}}}//錄入usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingDataAccessLayer;usingSystem.Data.SqlClient;namespaceStudentMIs{publicpartialclassFormAddStudent:Form{publicFormAddStudent(){InitializeComponent();}privatevoidbuttonok_Click(objectsender,EventArgse){string學(xué)號(hào)=textBoxsno.Text.Trim();string姓名=textBoxsname.Text.Trim();string性別=comboBoxsex.Text.Trim();string日期=textBoxbirthday.Text.Trim();try{newStudentDAO().insert(學(xué)號(hào),姓名,性別,日期);this.DialogResult=DialogResult.OK;MessageBox.Show("錄入成功","提示");}catch(SqlExceptionex){switch(ex.Number){case2627:MessageBox.Show("已經(jīng)存在此學(xué)號(hào)!請(qǐng)檢查。","錯(cuò)誤:",MessageBoxButtons.OK,MessageBoxIcon.Error);break;default:stringinfo=string.Format("訪問(wèn)數(shù)據(jù)庫(kù)出錯(cuò)!\n具體原因?yàn)椋簕0}\n錯(cuò)誤代碼:{1}",ex.Message,ex.Number);MessageBox.Show(info);break;}return;}catch(Exceptionerr){MessageBox.Show(err.Message,"出錯(cuò)了:",MessageBoxButtons.OK,MessageBoxIcon.Error);return;}}privatevoidlabel1_Click(objectsender,EventArgse){}privatevoidFormAddStudent_Load(objectsender,EventArgse){}privatevoidtextBoxsno_TextChanged(objectsender,EventArgse){}privatevoidbuttoncancel_Click(objectsender,EventArgse){Close();}}}//刪除usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingDataAccessLayer;usingSystem.Data.SqlClient;namespaceStudentMIs{publicpartialclassFormDeleteStudent:Form{publicFormDeleteStudent(){InitializeComponent();}privatevoidbuttonok_Click(objectsender,EventArgse){newStudentDAO().delete(textBoxsno.Text.Trim());this.DialogResult=DialogResult.OK;MessageBox.Show("刪除成功","提示");}privatevoidFormDeleteStudent_Load(objectsender,EventArgse){}privatevoidtextBoxsno_TextChanged(objectsender,EventArgse){}privatevoidbutton2_Click(objectsender,EventArgse){Close();}}}//查找 usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.SqlClient;usingDataAccessLayer;namespaceStudentMIs{publicpartialclassStudentserch:Form{publicStudentserch(){InitializeComponent();}privatevoidStdentSelect_Load(objectsender,EventArgse){}privatevoidtextBox1_TextChanged(objectsender,EventArgse){}BindingSourcebs=newBindingSource();privatevoidbuttonok_Click(objectsender,EventArgse){if(textBox1sno.Text=="")bind();else{bs.DataSource=newSQLHelper().CreateTable1(textBox1sno.Text.Trim());dataGridView2.DataSource=bs;}}privatevoidbind(){MessageBox.Show("查詢失敗,請(qǐng)重新輸入!","提示");textBox1sno.Focus();return;}privatevoidtextBox1_TextChanged_1(objectsender,EventArgse){}privatevoidbuttoncancle_Click(objectsender,EventArgse){}privatevoidtextBoxsno_TextChanged(objectsender,EventArgse){}privatevoidtextBoxsname_TextChanged(objectsender,EventArgse){}privatevoiddataGridView1_CellContentClick(objectsender,DataGridViewCellEventArgse){}privatevoidbutton1_Click(objectsender,EventArgse){Close();}}}//修改usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingDataAccessLayer;namespaceStudentMIs{publicpartialclassStudentmodify:Form{publicStudentmodify(){InitializeComponent();}privatevoidcomboBox1_SelectedIndexChanged(objectsender,EventArgse){}privatevoidbutton0k_Click(objectsender,EventArgse){stringsno=textBoxsno.Text.Trim();stringsname=textBoxsname.Text.Trim();stringsex=comboBoxsex.Text.Trim();stringsbirthday=textBoxsbirthday.Text.Trim();newStudentDAO().modify(sno,sname,sex,sbirthday);this.DialogResult=DialogResult.OK;MessageBox.Show("修改成功!","提示");}privatevoidtextBox1_TextChanged(objectsender,EventArgse){}privatevoidStudentmodify_Load(objectsender,EventArgse){}privatevoidtextBoxsname_TextChanged(objectsender,EventArgse){}privatevoidtextBoxsbirthday_TextChanged(objectsender,EventArgse){}privatevoidbuttoncancle_Click(objectsender,EventArgse){Close();}}}//SQLHELPER/*****/usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Collections;usingSystem.Data;usingSystem.Data.SqlClient;namespaceDataAccessLayer{publicclassSQLHelper{publicintlogin(string用戶名,string密碼)//負(fù)責(zé)登陸數(shù)據(jù)庫(kù)的方法{stringconnstr=@"server=.\;database=student;integratedsecurity=sspi";using(SqlConnectionconn=newSqlConnection(connstr)){conn.Open();using(SqlCommandcmd=conn.CreateCommand()){cmd.CommandText="selectcount(*)fromtloginwhereusername=@unandpassword=@pwd";cmd.Parameters.Add(newSqlParameter("un",用戶名));cmd.Parameters.Add(newSqlParameter("pwd",密碼));inttotal=Convert.ToInt32(cmd.ExecuteScalar());//返回值類型不確定,是一個(gè)objectreturntotal;}}}publicvoidExecuteNonQuery(stringsql,paramsSqlParameter[]para){stringconnstr=@"server=.\;database=student;integratedsecurity=sspi";using(SqlConnectionconn=newSqlConnection(connstr)){conn.Open();using(SqlCommandcmd=newSqlCommand(sql,conn)){cmd.Parameters.AddRange(para);cmd.ExecuteNonQuery();}}}publicDataTableCreateTable(){DataTabletable=newDataTable();stringconnstr=@"server=.\;database=student;integratedsecurity=sspi";using(SqlConnectionconn=newSqlConnection(connstr)){conn.Open();stringsql="select*fromstudent";using(SqlDataAdapteradapter=newSqlDataAdapter(sql,conn)){adapter.Fill(table);returntable;}}}publicDataTableCreateTable1(string學(xué)號(hào)){DataTabletable=newDataTable();stringconnstr=@"server=.\;database=student;integratedsecurity=sspi";using(SqlConnectionconn=newSqlConnection(connstr)){conn.Open();using(SqlCommandcmd=conn.CreateCommand()){cmd.CommandText="selectsno學(xué)號(hào),sname姓名,sex性別,birthday出生日期fromstudentwheresno=@sno";cmd.Parameters.Add(newSqlParameter("sno",學(xué)號(hào)));SqlDataAdapteradapter=newSqlDataAdapter(cmd);adapter.Fill(table);retu

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論