高級(jí)數(shù)據(jù)庫(kù)技術(shù)--學(xué)生考試管理系統(tǒng)_第1頁(yè)
高級(jí)數(shù)據(jù)庫(kù)技術(shù)--學(xué)生考試管理系統(tǒng)_第2頁(yè)
高級(jí)數(shù)據(jù)庫(kù)技術(shù)--學(xué)生考試管理系統(tǒng)_第3頁(yè)
高級(jí)數(shù)據(jù)庫(kù)技術(shù)--學(xué)生考試管理系統(tǒng)_第4頁(yè)
高級(jí)數(shù)據(jù)庫(kù)技術(shù)--學(xué)生考試管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(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)介

1、目錄1.設(shè)計(jì)目的和任務(wù)12.開發(fā)環(huán)境22.1硬件環(huán)境22.2軟件環(huán)境23.設(shè)計(jì)題目33.1題目名稱33.2題目詳細(xì)描述33.3功能要求34.相關(guān)技術(shù)及知識(shí)點(diǎn)65.數(shù)據(jù)庫(kù)設(shè)計(jì)95.1系統(tǒng)總體結(jié)構(gòu)95.2管理系統(tǒng)表關(guān)系95.3表詳細(xì)信息106.設(shè)計(jì)與實(shí)現(xiàn)136.1登陸界面136.2 新用戶注冊(cè)146.3教師界面14高級(jí)數(shù)據(jù)庫(kù)技術(shù)(ADO.NETXML)課程設(shè)計(jì)報(bào)告1.設(shè)計(jì)目的和任務(wù)本次期末大作業(yè)采用課程設(shè)計(jì)的形式進(jìn)行,作為高級(jí)數(shù)據(jù)庫(kù)技術(shù)(ADO.NET&XML)課程的期末考核。要求綜合運(yùn)用ADO.NET相關(guān)知識(shí),設(shè)計(jì)一個(gè)具有實(shí)用夾著的學(xué)生考試管理系統(tǒng),并撰寫課程設(shè)計(jì)報(bào)告。其目的和任務(wù)是:(1) 鞏

2、固和加深學(xué)生對(duì)本課程基本知識(shí)的理解和掌握;(2) 掌握C#編程和ADO.NET程序調(diào)試的基本技能;(3) 掌握設(shè)計(jì)ADO.NET應(yīng)用軟件的基本思路和方法;(4) 提高運(yùn)用ADO.NET解決實(shí)際問(wèn)題的能力;(5) 培養(yǎng)撰寫設(shè)計(jì)報(bào)告的能力。2.開發(fā)環(huán)境2.1硬件環(huán)境計(jì)算機(jī)2.2軟件環(huán)境XP操作系統(tǒng);Microsoft SQL Server 2005;Microsoft Visual Studio 2005;3.設(shè)計(jì)題目3.1題目名稱學(xué)生考試管理系統(tǒng)3.2題目詳細(xì)描述1.登錄界面2.新用戶注冊(cè):學(xué)員、教員3.教師管理界面4.管理員管理界面5.學(xué)生在線考試3.3功能要求登錄窗口:功能:1,用戶對(duì)應(yīng)權(quán)限

3、登錄。分教員,學(xué)生,管理員。根據(jù)選擇的權(quán)限進(jìn)入相應(yīng)的界面。2,輸入用戶名框非空,密碼框非空,權(quán)限選擇判斷。3,新學(xué)員用戶注冊(cè)。注冊(cè)后需管理員激活才能登錄。教師窗口:菜單項(xiàng):一,試題管理子菜單:1,增加試題。功能:增加試題2,查詢?cè)囶}。功能:按科目查詢?cè)囶},并選擇類型來(lái)查詢?cè)囶},本系統(tǒng)中默認(rèn)兩種類型的試題,即選擇題和填空題。3,試題列表。功能:按難度以及試題類型,查詢?cè)囶}列表。并可增加,修改試題各屬性。二,考試管理子菜單:1,生成試卷功能: (1),開始選題窗體:用戶輸入試卷名,進(jìn)入選題窗體。 (2),選題窗體: 按難度以及試題類型選擇試題列表,右擊將此題選入此次試卷。 提示:你已選擇1題。 顯

4、示當(dāng)前試卷號(hào),已選擇題號(hào)。 按鈕:結(jié)束選題。2,試卷管理功能:(1)查詢所有試卷列表。 (2)激活或凍結(jié)試卷。三,成績(jī)管理功能:按試卷名查尋成績(jī)。要算出平均分,并對(duì)及格(=60)以及優(yōu)秀的學(xué)生(=85)比例進(jìn)行統(tǒng)計(jì)。 表格格式為:學(xué)生名,成績(jī) 文本框顯示平均分, 文本框顯示及格率和優(yōu)秀率四,學(xué)生評(píng)價(jià)查看 教師在下拉框中選擇某份試題, 可以看到所有考試過(guò)此試卷的學(xué)生對(duì)此試卷的評(píng)價(jià)和意見。五,窗口。 功能:顯示當(dāng)前窗口。六,幫助子菜單:關(guān)于。功能:顯示動(dòng)畫。管理員窗口菜單項(xiàng):一,用戶管理子菜單:1,新建用戶。(1)功能:新建學(xué)員用戶。(2)功能:新建教員用戶。2,查詢及修改學(xué)員。功能:(1)按用戶

5、名模糊查詢學(xué)員。 (2)右鍵修改學(xué)員狀態(tài)。 (3)右鍵刪除學(xué)員。3,用戶信息列表。 (1)學(xué)員信息列表。 功能:按性別查詢學(xué)員列表。并可增加,修改學(xué)員各屬性。 (2)教員信息列表。 功能:按性別查詢教師列表。并可增加,修改教師各屬性。4,窗口。 功能:顯示當(dāng)前窗口。5,幫助。子菜單:關(guān)于。功能:倒計(jì)時(shí)。學(xué)員窗口一 維護(hù)個(gè)人信息 對(duì)個(gè)人信息進(jìn)行查詢, 修改二:在線答題。功能:(1)可以選擇已激活試卷答題。 (2)在線評(píng)分。 (3)保存考試成績(jī)可供教師查詢。三:學(xué)生評(píng)價(jià) 學(xué)生評(píng)價(jià)此次考試的難度,與大綱符合程度,為教師以后出試卷提供參考 具體設(shè)計(jì)可以學(xué)生在下拉框中選擇本次考試的一個(gè)難度, 并在文本框

6、中輸入一個(gè)主觀意見。4.相關(guān)技術(shù)及知識(shí)點(diǎn)ADO.NET提供了多種對(duì)象模型,比較典型的以下有五種,它們?nèi)繗w類System.Data.SqlClient名稱空間下。4.1 SqlConnection對(duì)象ADO.NET使用SqlConnection對(duì)象與SQL Server進(jìn)行連接。連接字符串的常用形式有兩種:1.使用Windows集成安全身份認(rèn)證, 例如:string connectionString =IntegratedSecurity=SSPI;Database=MyDatabase.mdf;Server=localhost;2.在連接字符串中指定服務(wù)器名、用戶id、用戶口令、數(shù)據(jù)庫(kù)名等信

7、息。 例如:string connectionString = server=localhost; uid=sa; pwd=123; database=MyDatabase.mdf;然后通過(guò)連接字符串直接創(chuàng)建SqlConnection對(duì)象,如SqlConnection conn = new SqlConnection(connectionString);4.2 SqlCommand對(duì)象在ADO.NET中,有兩種操作數(shù)據(jù)庫(kù)的方式:1.無(wú)連接的方式;2.保持連接的方式。不論哪種都可以通過(guò)SqlCommand對(duì)象提供的方法傳遞對(duì)數(shù)據(jù)庫(kù)操作的命令,并返回命令執(zhí)行結(jié)果。在保持連接的方式下操作數(shù)據(jù)庫(kù)的一般

8、步驟為:1.創(chuàng)建SqlConnection的實(shí)例;2.創(chuàng)建SqlCommand的實(shí)例;3.打開連接;4.執(zhí)行命令;5.關(guān)閉連接。SqlCommand對(duì)象提供了多種完成對(duì)數(shù)據(jù)庫(kù)操作的方法。常用有:1.ExecuteNonQuery該方法執(zhí)行SQL語(yǔ)句的結(jié)果,但不返回命令執(zhí)行的表數(shù)據(jù),僅返回操作所影響的行數(shù)。2.ExecuteReaderExecuteReader方法提供了只向前的、順序的快速讀取數(shù)據(jù)庫(kù)中數(shù)據(jù)的方法。3.ExecuteScaler()該方法用于執(zhí)行SELECT查詢,得到的返回結(jié)果為一個(gè)值的情況,比如使用count函數(shù)求表中記錄個(gè)數(shù)或者使用sum函數(shù)求和等。4.3 SqlDataAd

9、apter對(duì)象SqlDataAdapter對(duì)象通過(guò)無(wú)連接的方式完成數(shù)據(jù)庫(kù)和本地DataSet之間的交互。使用這種方式操作數(shù)據(jù)庫(kù)的一般步驟為:1.創(chuàng)建SqlConnection的實(shí)例;2.創(chuàng)建SqlDataAdapter的實(shí)例,需要的話,根據(jù)select語(yǔ)句生成其他SQL語(yǔ)句;3.創(chuàng)建DataSet的實(shí)例;4.使用Fill方法將數(shù)據(jù)庫(kù)中的表填充到DataSet的表中;5.利用DataGridView或者其他控件對(duì)象編輯或顯示數(shù)據(jù);6.需要的話,使用Update方法更新數(shù)據(jù)庫(kù)。SqlDataAdapter對(duì)象通過(guò)SelectCommand、InsertCommand、UpdateCommand和D

10、eleteCommand屬性為后臺(tái)數(shù)據(jù)庫(kù)提供對(duì)應(yīng)的操作命令,并傳遞需要的參數(shù)。一般情況下,只需要提供SELECT語(yǔ)句和連接字符串創(chuàng)建SqlDataAdapter對(duì)象,然后利用SqlCommandBuilder對(duì)象生成InsertCommand、UpdateCommand和DeleteCommand屬性。4.4 DataTable對(duì)象ADO.NET可以在與數(shù)據(jù)庫(kù)斷開連接的方式下通過(guò)DataSet或DataTable對(duì)象進(jìn)行數(shù)據(jù)處理,當(dāng)需要更新數(shù)據(jù)時(shí)才重新與數(shù)據(jù)源進(jìn)行連接,并更新數(shù)據(jù)源。DataTable對(duì)象表示保存在本機(jī)內(nèi)存中的表,它提供了對(duì)表中行列數(shù)據(jù)對(duì)象的各種操作??梢灾苯訉?shù)據(jù)從數(shù)據(jù)庫(kù)填充

11、到DataTable對(duì)象中,也可以將DataTable對(duì)象添加到現(xiàn)有的DataSet對(duì)象中。在斷開連接的方式下,DataSet對(duì)象提供了和關(guān)系數(shù)據(jù)庫(kù)一樣的關(guān)系數(shù)據(jù)模型,代碼中可以直接訪問(wèn)DataSet對(duì)象中的DataTable對(duì)象,也可以添加、刪除DataTable對(duì)象。1. 創(chuàng)建DataTable對(duì)象可以通過(guò)以下兩種方式創(chuàng)建DataTable對(duì)象:1) 通過(guò)DataTable類的構(gòu)造函數(shù)創(chuàng)建DataTable對(duì)象,例如:DataTable table = new DataTable();2) 通過(guò)DataSet的Tables對(duì)象的Add方法創(chuàng)建DataTable對(duì)象,例如:DataSet d

12、ataset = new DataSet();DataTable table = dataset.Tables.Add(MyTableName);2. 在DataTable對(duì)象中添加列在DataTable對(duì)象中添加列的最常用的方法是通過(guò)DataTable對(duì)象的Column屬性中的Add方法。添加后的每一列都是一個(gè)DataColumn對(duì)象。3. 設(shè)置DataTable對(duì)象的主鍵關(guān)系數(shù)據(jù)庫(kù)中的表一般都有一個(gè)主鍵,用來(lái)惟一標(biāo)識(shí)表中的每一行記錄。通過(guò)DataTable對(duì)象的PrimaryKey屬性可以設(shè)置Datatable的主鍵。主鍵可以是一個(gè)或者多個(gè)DataColumn對(duì)象組成的數(shù)組。例如:Data

13、Column key = new DataColumn1;/dt是一個(gè)DataTable對(duì)象key0 = dt.Columns0;dt.PrimaryKey = key;4. 在DataTable對(duì)象中創(chuàng)建行DataTable對(duì)象的每一行都是一個(gè)DataRow對(duì)象,所以創(chuàng)建行時(shí)可以先利用DataTable對(duì)象的NewRow方法創(chuàng)建一個(gè)DataRow對(duì)象,并設(shè)置新行中各列的數(shù)據(jù),然后利用Add方法將DataRow對(duì)象添加到表中5. 將SQL Server數(shù)據(jù)庫(kù)中的表填充到DataTable中除了可以直接創(chuàng)建DataTable對(duì)象的行列信息外,也可以通過(guò)DateAdapter對(duì)象的Fill方法將S

14、QL Server數(shù)據(jù)庫(kù)中的表填充到DataTable對(duì)象中。4.5 DataSet對(duì)象1. 創(chuàng)建DataSet對(duì)象使用創(chuàng)建的DataSet對(duì)象可以完成各種數(shù)據(jù)操作,利用向?qū)傻臄?shù)據(jù)庫(kù)數(shù)據(jù)源是一個(gè)強(qiáng)類型的DataSet以及一對(duì)或多對(duì)強(qiáng)類型的DataTable和TableAdapter的組合。類型化的DataSet是一個(gè)生成的類,是從.NET Framework的一般DataSet類衍生來(lái)的,但提供了已定義的架構(gòu)以及特定于該架構(gòu)的屬性和方法。同時(shí),對(duì)于DataSet中的每個(gè)表,還生成了特定于該DataSet的附加衍生類,而且每個(gè)類都為相關(guān)的表提供了特定的架構(gòu)、屬性和方法。當(dāng)然,也可以直接創(chuàng)建一

15、般的DataSet對(duì)象,例如:DataSet myDataset = new DataSet();2. 填充DataSet對(duì)象創(chuàng)建DataSet后,就可以使用SqlDataAdapter對(duì)象把數(shù)據(jù)導(dǎo)入到DataSet對(duì)象中,比如通過(guò)Fill方法將數(shù)據(jù)填充到DataSet中的某個(gè)表中。4.6 DataViewDataView就時(shí)數(shù)據(jù)視圖,為數(shù)據(jù)庫(kù)結(jié)構(gòu)提供了外模式的實(shí)現(xiàn)。同時(shí)DataView也可以為窗體控件和Web控件提供數(shù)據(jù)綁定功能,在每一個(gè)DataTable中內(nèi)建了一個(gè)DataView為:DataTable.DefaultView();創(chuàng)建DataViewDataView sortedView

16、=new DataView(dataTable);對(duì)DataView進(jìn)行排序dataTable.DefaultView.sort=lastName;dataTable.DefaultView.sort=lastName,FirstName DESC;4.7 更新DB在DataSet中,每一個(gè)DataTable對(duì)應(yīng)著一個(gè)DataAdapter,DataAdapter.Update()時(shí),DataTable自動(dòng)更新。4.8 事務(wù)tx=conn.BeginTransaction(IsolationLevel.Serializable);invDA.SelectCommand.Transaction=

17、tx;5.數(shù)據(jù)庫(kù)設(shè)計(jì)5.1系統(tǒng)總體結(jié)構(gòu)系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)采用了MVC的思想。根據(jù)面向?qū)ο蠓治鲭A段中類劃分結(jié)果,規(guī)劃界面類、控制類、實(shí)體類及調(diào)用關(guān)系。在面向?qū)ο蠓治鲭A段,我們把類大體上分成了界面和實(shí)體兩類。但是,為了提高代碼的易維護(hù)性、易讀性,增加類內(nèi)部的純度、類之間調(diào)用的靈活性,我們把控制代碼另封裝為一個(gè)類,即控制類,使系統(tǒng)中類之間的調(diào)用關(guān)系如下圖所示:界面實(shí)體類數(shù)據(jù)庫(kù)控制類控制類jdbcjdbc5.2管理系統(tǒng)表關(guān)系5.3表詳細(xì)信息5.3.1管理員表Admin詳細(xì)信息圖5.3.1管理員表Admin詳細(xì)信息5.3.2學(xué)生表Student詳細(xì)信息圖5.3.2學(xué)生表Student詳細(xì)信息5.3.3 年

18、級(jí)表Grade詳細(xì)信息5.3.3 年級(jí)表Grade詳細(xì)信息5.3.4 班級(jí)表Class詳細(xì)信息5.3.4 班級(jí)表Class詳細(xì)信息5.3.5狀態(tài)表UserState詳細(xì)信息5.3.5狀態(tài)表UserState詳細(xì)信息5.4 程序?qū)崿F(xiàn): private void tsmiAddStuUser_Click(object sender, EventArgs e) AddStudentForm addStudentForm = new AddStudentForm(); addStudentForm.MdiParent = this; addStudentForm.Show(); private voi

19、d tsmiaddNewTeacher_Click(object sender, EventArgs e) AddTeacherForm addTeacherForm = new AddTeacherForm(); addTeacherForm.MdiParent = this; addTeacherForm.Show(); using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.SqlClient;using System.Dra

20、wing;using System.Text;using System.Windows.Forms;namespace MySchool public partial class AddStudentForm : Form public AddStudentForm() InitializeComponent(); / / 確認(rèn)增加用戶 / / / private void btnAddStuUserOK_Click(object sender, EventArgs e) if (IsValidate()/輸入驗(yàn)證成功 Student student = new Student();/新建學(xué)員

21、對(duì)象student student.LoginId = txtStuName.Text.Trim();/以下依次給student屬性set值 student.LoginPwd = txtStuPwd.Text.Trim(); student.UserStateId = rdoStatusIn.Checked ? (int)rdoStatusIn.Tag :(int) rdoStatusOut.Tag;/條件表達(dá)式,選擇活動(dòng)狀態(tài),返回活動(dòng)狀態(tài)Id student.ClassId = ClassDao.GetClassId(cboClass.Text);/通過(guò)班級(jí)名獲得班級(jí)編號(hào) student.S

22、tudentNO = txtStuNO.Text.Trim(); student.StudentName = txtStuRealName.Text.Trim(); student.Sex = rdoStuMale.Checked ? rdoStuMale.Text : rdoStuFemale.Text; student.Phone = txtStuTel.Text.Trim(); student.Email = txtStuEmail.Text.Trim(); StudentDAO.AddStudent(student);/增加新學(xué)員 txtStuName.Text = ;/增加成功清空輸

23、入框 txtStuPwd.Text = ; txtStuConfirmPwd.Text = ; txtStuRealName.Text = ; txtStuNO.Text = ; txtStuTel.Text = ; txtStuEmail.Text = ; / / 關(guān)閉按鈕 / / / private void btnAddStuUserCancel_Click(object sender, EventArgs e) this.Close(); / / 界面加載時(shí)給年級(jí)框賦值 / / / private void AddStudentForm_Load(object sender, Even

24、tArgs e) List list=new List();/新建List list=GradeDao.GradeList();/得到所有年級(jí)的list foreach (Grade grade in list) /遍歷list,給年級(jí)下拉框cboGrade賦值 this.cboGrade.Items.Add(grade.GradeName); / / 當(dāng)年級(jí)下拉框變動(dòng)時(shí),動(dòng)態(tài)給班級(jí)下拉框?qū)?yīng)賦值 / / / private void cboGrade_SelectedIndexChanged(object sender, EventArgs e) cboClass.ResetText();/

25、重置cboClass使之非選。 cboClass.Items.Clear();/清空cboClass原有下拉選項(xiàng) string gradeName = this.cboGrade.Text;/獲取年級(jí) int gradeId = GradeDao.GetGradeIdByName(gradeName);/通過(guò)年級(jí)名獲取年級(jí)編號(hào) List list2 = new List();/新建Class集合list2 list2 = ClassDao.FindClassByGradeId(gradeId);/通過(guò)年級(jí)編號(hào)查找班級(jí),并返回班級(jí)的集合 foreach (Class class1 in list

26、2)/遍歷list2給cblClass賦值 this.cboClass.Items.Add(class1.ClassName); / / 輸入驗(yàn)證 / / private bool IsValidate() if (txtStuName.Text = ) MessageBox.Show(請(qǐng)輸入用戶名,輸入提示,MessageBoxButtons.OK,MessageBoxIcon.Information); txtStuName.Focus(); return false; else if (txtStuPwd.Text = ) MessageBox.Show(請(qǐng)輸入密碼, 輸入提示, Mes

27、sageBoxButtons.OK, MessageBoxIcon.Information); txtStuPwd.Focus(); return false; else if (!txtStuPwd.Text.Equals(txtStuConfirmPwd.Text) MessageBox.Show(兩次密碼輸入不一致, 輸入提示, MessageBoxButtons.OK, MessageBoxIcon.Information); txtStuConfirmPwd.Focus(); return false; else if (!rdoStatusIn.Checked& !rdoStatu

28、sOut.Checked) MessageBox.Show(請(qǐng)選擇狀態(tài), 輸入提示, MessageBoxButtons.OK, MessageBoxIcon.Information); return false; else if (txtStuRealName.Text = ) MessageBox.Show(請(qǐng)輸入學(xué)員姓名, 輸入提示, MessageBoxButtons.OK, MessageBoxIcon.Information); txtStuRealName.Focus(); return false; else if (txtStuNO.Text = ) MessageBox.S

29、how(請(qǐng)輸入學(xué)號(hào), 輸入提示, MessageBoxButtons.OK, MessageBoxIcon.Information); txtStuNO.Focus(); return false; else if (!rdoStuMale.Checked&!rdoStuFemale.Checked) MessageBox.Show(請(qǐng)選擇性別, 輸入提示, MessageBoxButtons.OK, MessageBoxIcon.Information); return false; else if (cboGrade.Text = ) MessageBox.Show(請(qǐng)選擇年級(jí), 輸入提示

30、, MessageBoxButtons.OK, MessageBoxIcon.Information); cboGrade.Focus(); return false; else if (cboClass.Text = ) MessageBox.Show(請(qǐng)選擇班級(jí), 輸入提示, MessageBoxButtons.OK, MessageBoxIcon.Information); cboClass.Focus(); return false; else return true; namespace MySchool public partial class AddTeacherForm : F

31、orm public AddTeacherForm() InitializeComponent(); / / 確認(rèn)增加教員 / / / private void btnAddTeaUserOK_Click(object sender, EventArgs e) if (IsValidate()/輸入驗(yàn)證成功 Teacher teacher = new Teacher();/新建教員對(duì)象teacher teacher.LoginId = txtTeaName.Text.Trim();/以下依次給teacher屬性set值 teacher.LoginPwd = txtTeaPwd.Text.Tri

32、m(); /teacher.UserStateId = rdoStatusIn.Checked ? (int)rdoStatusIn.Tag : (int)rdoStatusOut.Tag;/條件表達(dá)式,選擇活動(dòng)狀態(tài),返回活動(dòng)狀態(tài)Id teacher.TeacherName = txtTeaName.Text.Trim(); teacher.Sex = rdoTeaMale.Checked ? rdoTeaMale.Text : rdoTeaFemale.Text; teacher.Brithday = txtTeaBrithday.Text.Trim(); TeacherDao.insert

33、NewTeacher(teacher);/增加新教員 txtTeaName.Text = ;/增加成功清空輸入框 txtTeaPwd.Text = ; txtTeaConfirmPwd.Text = ; txtTeaBrithday.Text = ; / / 輸入驗(yàn)證 / / private bool IsValidate() if (txtTeaName.Text = ) MessageBox.Show(請(qǐng)輸入用戶名, 輸入提示, MessageBoxButtons.OK, MessageBoxIcon.Information); txtTeaName.Focus(); return fal

34、se; else if (txtTeaPwd.Text = ) MessageBox.Show(請(qǐng)輸入密碼, 輸入提示, MessageBoxButtons.OK, MessageBoxIcon.Information); txtTeaPwd.Focus(); return false; else if (!txtTeaPwd.Text.Equals(txtTeaConfirmPwd.Text) MessageBox.Show(兩次密碼輸入不一致, 輸入提示, MessageBoxButtons.OK, MessageBoxIcon.Information); txtTeaConfirmPwd

35、.Focus(); return false; else if (!rdoTeaMale.Checked & !rdoTeaFemale.Checked) MessageBox.Show(請(qǐng)選擇性別, 輸入提示, MessageBoxButtons.OK, MessageBoxIcon.Information); return false; if (txtTeaBrithday.Text = ) MessageBox.Show(請(qǐng)輸入生日, 輸入提示, MessageBoxButtons.OK, MessageBoxIcon.Information); txtTeaBrithday.Focus

36、(); return false; else return true; private void btnAddTeaUserCancel_Click(object sender, EventArgs e) this.Close(); private void AddTeacherForm_Load(object sender, EventArgs e) using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.SqlClient;us

37、ing System.Drawing;using System.Text;using System.Windows.Forms;namespace MySchool public partial class FindStudentForm : Form public FindStudentForm() InitializeComponent(); /根據(jù)查詢條件填充 private void FillListView() string userState;/用戶狀態(tài) string studentName = txtFindStudentName.Text.Trim();/用戶名 Student student = new Student();/建立student對(duì)象 List list = new List();/建立list集合 student.StudentName = studentName;/把用戶名set給student對(duì)象 list = Stude

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論