版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《數(shù)據(jù)庫(kù)系統(tǒng)原理課程設(shè)計(jì)報(bào)告》</p><p><b> 學(xué)生選課系統(tǒng)</b></p><p><b> 一.引言</b></p><p><b> 1.1 問(wèn)題描述</b></p><p><b> 系統(tǒng)功能的基本要求</b>
2、;</p><p> 學(xué)生在校期間除了要修一些必修課之外,還要選修一些課程學(xué)習(xí)。這就需要進(jìn)行課程選擇,所以我們?cè)囋O(shè)計(jì)一個(gè)學(xué)生選課系統(tǒng),這可以既便于學(xué)生進(jìn)行老師和課程選擇,也方便老師查看選擇自己所教課程的情況,管理員既可以對(duì)教師帶課進(jìn)行安排也可以對(duì)課程進(jìn)行安排。</p><p> 1.2開(kāi)發(fā)環(huán)境和運(yùn)行環(huán)境</p><p> 學(xué)生選課系統(tǒng)這運(yùn)用了當(dāng)前最流行的SQL
3、 SERVER2005和VS2010運(yùn)行和開(kāi)發(fā)的。</p><p> 庫(kù)、基本表的建立和修改:在SQL-SERVER 環(huán)境下用CREATE TABLE 建立以及庫(kù)中基本表。</p><p> 數(shù)據(jù)加載:用手工錄入實(shí)現(xiàn)基本表的數(shù)據(jù)加載。</p><p> 單表查詢以及多表查詢:在建立的基本表中使用select 基本格式和聚集函數(shù);設(shè)計(jì)合適的視圖,實(shí)現(xiàn)多表查詢。&
4、lt;/p><p> 單表刪除以及多表刪除:在建立的基本表中使用delete基本格式和關(guān)聯(lián)函數(shù),實(shí)現(xiàn)多表刪除。</p><p> 單表插入:在建立的基本表上使用insert 基本格式,實(shí)現(xiàn)表的插入。</p><p><b> 二.需求分析</b></p><p> 2.1 系統(tǒng)功能基本的要求</p>&
5、lt;p> 該系統(tǒng)中設(shè)置三個(gè)角色,管理員,教師和學(xué)生。</p><p> 每個(gè)用戶需要根據(jù)自己的用戶名、密碼以及角色登錄系統(tǒng)。</p><p> 管理員角色權(quán)限為:創(chuàng)建教師、學(xué)生用戶,填寫和修改用戶信息。錄入課程信息供學(xué)生選課時(shí)使用。</p><p> 教師角色權(quán)限為:登錄后只能看到自己所帶的選課情況,同時(shí)可以添加或修改自己所帶課程的學(xué)生成績(jī),教師無(wú)權(quán)
6、限修改其他老師所帶課程的學(xué)生成績(jī)。</p><p> ?。?)學(xué)生角色權(quán)限為:登錄后可以看到自己的選課情況,可以對(duì)學(xué)?,F(xiàn)有的課程進(jìn)行查詢,同時(shí)進(jìn)行選課或者是退課。</p><p> 2.2 安全與完整性要求:</p><p><b> ?。?)安全性要求</b></p><p> a.系統(tǒng)應(yīng)設(shè)置訪問(wèn)用戶的標(biāo)識(shí)以鑒別是
7、否是合法用戶,并要求合法用戶設(shè)置其密碼,保證用戶身份不被盜用;</p><p> b. 系統(tǒng)應(yīng)對(duì)不同的數(shù)據(jù)設(shè)置不同的訪問(wèn)級(jí)別,限制訪問(wèn)用戶可查詢和處理數(shù)據(jù)的類別和內(nèi)容;</p><p><b> ?。?)完整性要求</b></p><p> a. 各種信息記錄的完整性,信息記錄內(nèi)容不能為空;</p><p> b.
8、 各種數(shù)據(jù)間相互的聯(lián)系的正確性;</p><p> c. 相同的數(shù)據(jù)在不同記錄中的一致性。</p><p> 2.3系統(tǒng)功能的設(shè)計(jì)</p><p> 要求能夠根據(jù)用戶登錄的不同角色查看和實(shí)現(xiàn)不同操作,學(xué)生角色可以查看可選課程和代課老師的信息,可以完成選擇課程;教師角色可以查看自己所帶課程并可以查看所選擇自己代課的學(xué)生信息并可以為其添加成績(jī);管理員角色可以添加或
9、學(xué)生、老師,院系和課程。</p><p><b> 三.E-R圖設(shè)計(jì)</b></p><p><b> 四.創(chuàng)建表的代碼</b></p><p><b> 4.1 學(xué)生表</b></p><p> CREATE TABLE CoursTB (</p>&l
10、t;p> CoursNO varchar(20),</p><p> CoursName varchar(50),</p><p> CoursType varchar(50) ,</p><p> SumPoint smallint DEFAULT NULL,</p><p> PRIMARY KEY (CoursNO)&l
11、t;/p><p><b> ) ;</b></p><p><b> 4.2 課程表</b></p><p> CREATE TABLE stutb (</p><p> StuNO varchar(20) ,</p><p> StuName varchar(20)
12、,</p><p> StuClass varchar(40) NOT NULL,</p><p> StuSdept varchar(40) ,</p><p> StuMajor varchar(40) NOT NULL,</p><p> PRIMARY KEY (StuNO),</p><p>
13、FOREIGN KEY (StuNO) REFERENCES UserTB (UserNO) ON DELETE CASCADE ON UPDATE CASCADE</p><p><b> )</b></p><p><b> 4.3教師表</b></p><p> CREATE TABLE TechTB (<
14、;/p><p> TechNO varchar(20) NOT NULL,</p><p> TechName varchar(20) NOT NULL,</p><p> TechSdept varchar(40) NOT NULL,</p><p> TechMajor varchar(40) NOT NULL,</p&g
15、t;<p> PRIMARY KEY (TechNO),</p><p> FOREIGN KEY (TechNO) REFERENCES UserTB (UserNO) ON DELETE CASCADE ON UPDATE CASCADE</p><p><b> ) ;</b></p><p><b> 4
16、.4 教師課程表</b></p><p> CREATE TABLE TechCourse (</p><p> TechNO varchar(20) NOT NULL ,</p><p> CoursNO varchar(20) NOT NULL,</p><p> PRIMARY KEY (TechNO,CoursN
17、O),</p><p> FOREIGN KEY (TechNO) REFERENCES TechTB(TechNO) ON DELETE CASCADE ON UPDATE CASCADE,</p><p> FOREIGN KEY (CoursNO) REFERENCES CoursTB(CoursNO) ON DELETE CASCADE ON UPDATE CASCADE<
18、;/p><p><b> ) ;</b></p><p><b> 4.5 用戶表</b></p><p> CREATE TABLE UserTB (</p><p> UserNO varchar(20) NOT NULL,</p><p> PSN varcha
19、r(10) DEFAULT NULL,</p><p> Pwd varchar(20) DEFAULT NULL,</p><p> PRIMARY KEY (UserNO)</p><p><b> )</b></p><p><b> 4.6 學(xué)生選課表</b></p>
20、<p> CREATE TABLE StuTechCoursTB (</p><p> StuNO varchar(20) NOT NULL DEFAULT '',</p><p> TechNO varchar(20) NOT NULL DEFAULT '',</p><p> CourNO varchar(
21、20) DEFAULT '',</p><p> getPoint smallint DEFAULT NULL,</p><p> PRIMARY KEY (StuNO,TechNO,CourNO),</p><p> FOREIGN KEY (StuNO) REFERENCES UserTB(UserNO) ON DELETE CASCAD
22、E ON UPDATE CASCADE,</p><p> --FOREIGN KEY (TechNO) REFERENCES UserTB(UserNO) ON DELETE CASCADE ON UPDATE CASCADE,</p><p> FOREIGN KEY (CourNO) REFERENCES CoursTB(CoursNO) ON DELETE CASCADE ON
23、 UPDATE CASCADE</p><p><b> );</b></p><p><b> 五.源程序代碼</b></p><p> /*下面是關(guān)于數(shù)據(jù)庫(kù)操作例子的部分代碼,所有數(shù)據(jù)庫(kù)相關(guān)的增刪該查全部包含在代碼中,由于代碼太多這里只能列舉一部分*/</p><p> // 下面是一個(gè)
24、關(guān)于數(shù)據(jù)庫(kù)管理先關(guān)的類</p><p> using System;</p><p> using System.Collections.Generic;</p><p> using System.Linq;</p><p> using System.Text;</p><p> using System
25、.Data;</p><p> using System.Data.Sql;</p><p> using System.Data.SqlClient;</p><p> using System.Configuration;</p><p> namespace DBManage</p><p><b&
26、gt; {</b></p><p> class DbHelp</p><p><b> {</b></p><p> private SqlConnection SqlConn;</p><p> private SqlCommand SqlCmd;</p><p> p
27、rivate SqlDataReader Reader;</p><p> private SqlDataAdapter SqlAdapter;</p><p> public DbHelp()</p><p><b> {</b></p><p> string ConnStr = ConfigurationS
28、ettings.AppSettings["ConnStr"];</p><p> SqlConn = new SqlConnection(ConnStr);</p><p> SqlCmd = new SqlCommand(); </p><p><b> }</b></p><p> pub
29、lic string ReturnOneData(string sql)</p><p><b> {</b></p><p> string tempData = "";</p><p> if(ReturnReader(sql) == null)</p><p><b> {&l
30、t;/b></p><p> return null;</p><p><b> }</b></p><p> if (Reader.Read())</p><p><b> {</b></p><p> tempData = Reader[0].ToStri
31、ng();</p><p><b> }</b></p><p> CloseReader();</p><p> return tempData;</p><p><b> }</b></p><p> public SqlDataReader ReturnRea
32、der(string sql)</p><p><b> {</b></p><p> Reader = null;</p><p> SqlCmd.Connection = SqlConn;</p><p> SqlCmd.CommandText = sql;</p><p><b
33、> try</b></p><p><b> {</b></p><p> if (SqlConn.State == ConnectionState.Closed)</p><p><b> {</b></p><p> SqlConn.Open();</p>
34、<p><b> }</b></p><p> Reader = SqlCmd.ExecuteReader();</p><p><b> }</b></p><p><b> catch</b></p><p><b> {</b>
35、;</p><p> SqlConn.Close();</p><p><b> }</b></p><p> return Reader;</p><p><b> }</b></p><p> public void CloseReader()</p>
36、;<p><b> {</b></p><p> if (!Reader.IsClosed)</p><p><b> {</b></p><p> Reader.Close();</p><p><b> }</b></p><p&
37、gt; if (SqlConn.State == ConnectionState.Open)</p><p><b> {</b></p><p> SqlConn.Close();</p><p><b> }</b></p><p><b> }</b></
38、p><p> public bool NoReturnQuery(string sql)</p><p><b> {</b></p><p> SqlCmd.CommandText = sql;</p><p> SqlCmd.Connection = SqlConn;</p><p>&l
39、t;b> try</b></p><p><b> {</b></p><p> if (SqlConn.State == ConnectionState.Closed)</p><p><b> {</b></p><p> SqlConn.Open();</p&
40、gt;<p><b> }</b></p><p> SqlCmd.ExecuteNonQuery();</p><p> SqlConn.Close();</p><p><b> }</b></p><p><b> catch</b></p&
41、gt;<p><b> {</b></p><p> SqlConn.Close();</p><p> return false;</p><p><b> }</b></p><p> return true;</p><p><b>
42、 }</b></p><p> public DataSet ReturnDataSet(string sql)</p><p><b> {</b></p><p> DataSet TempDataSet=new DataSet() ;</p><p><b> try</b>
43、;</p><p><b> {</b></p><p> SqlAdapter = new SqlDataAdapter(sql,SqlConn);</p><p> SqlAdapter.Fill(TempDataSet); </p><p><b> }</b></p>
44、<p><b> catch </b></p><p><b> {</b></p><p> TempDataSet = null;</p><p><b> }</b></p><p> return TempDataSet;</p>&l
45、t;p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> using System;</p><p> using System.Collections.Generic;</p>&
46、lt;p> using System.Linq;</p><p> using System.Windows.Forms;</p><p> namespace MainFormSpace</p><p><b> {</b></p><p> static class Program</p>
47、<p><b> {</b></p><p> [STAThread]</p><p> static void Main()</p><p><b> {</b></p><p> Application.EnableVisualStyles();</p>&
48、lt;p> Application.SetCompatibleTextRenderingDefault(false);</p><p> LognForm logn = new LognForm();</p><p> logn.ShowDialog();</p><p> if (LognForm.ChargePass())</p>&
49、lt;p><b> {</b></p><p> Application.Run(new MainFormSpace.MainForm(LognForm.GetUserNO(),LognForm.GetUserType()));</p><p><b> }</b></p><p><b> }&l
50、t;/b></p><p><b> }</b></p><p><b> }</b></p><p> using System;</p><p> using System.Collections.Generic;</p><p> using Syste
51、m.ComponentModel;</p><p> using System.Data;</p><p> using System.Drawing;</p><p> using System.Linq;</p><p> using System.Text;</p><p> using System.
52、Data.SqlClient;</p><p> using System.Windows.Forms;</p><p> namespace MainFormSpace</p><p><b> {</b></p><p> public partial class LognForm : Form</p&
53、gt;<p><b> {</b></p><p> private UserManageSpace.User user=null;</p><p> private static bool IsPass = false;</p><p> private static string UserType ="&qu
54、ot;;</p><p> private static string UserNO="";</p><p> public LognForm()</p><p><b> {</b></p><p> InitializeComponent();</p><p>
55、UserTypeCBX.SelectedIndex = 0; </p><p><b> }</b></p><p> private void Exitbtn_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> thi
56、s.Close();</p><p><b> }</b></p><p> private void LognBtn_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> if (!ChargeIsNull())<
57、/p><p><b> {</b></p><p><b> return;</b></p><p><b> }</b></p><p> IsPass = false;</p><p> user = new UserManageSpace.U
58、ser(UserNOtxt.Text.Trim(),UserTypeCBX.Text.Trim(),UserPwdtxt.Text.Trim());</p><p> switch(user.ChargeUserIsExist())</p><p><b> {</b></p><p> case 0: //不存在</p>
59、<p> ShowErrlbl.Text = "用戶信息不正確,請(qǐng)核查";</p><p><b> break;</b></p><p> case 1: //存在</p><p> IsPass = true;</p><p> UserNO = UserNOtxt.Text.
60、Trim();//記錄用戶帳號(hào)</p><p> this.Close();</p><p><b> break; </b></p><p> case -1: //發(fā)生錯(cuò)誤</p><p> MessageBox.Show("系統(tǒng)發(fā)生錯(cuò)誤,請(qǐng)聯(lián)系管理員");</p><
61、p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> private bool ChargeIsNull()</p><p><b> {</b></p>
62、;<p> bool temp = true;</p><p> if (UserNOtxt.Text.Trim() == "")</p><p><b> {</b></p><p> UserNOErrlbl.Visible=true;</p><p> ShowErrlb
63、l.Text = "輸入項(xiàng)中不能為空";</p><p> temp = false;</p><p><b> }</b></p><p> if (UserPwdtxt.Text.Trim() == "")</p><p><b> {</b>&l
64、t;/p><p> UserPwdlbl.Visible = true;</p><p> ShowErrlbl.Text = "輸入項(xiàng)中不能為空";</p><p> temp = false;</p><p><b> }</b></p><p> switch (U
65、serTypeCBX.Text.Trim())</p><p><b> { </b></p><p> case "學(xué)生":</p><p> UserType ="學(xué)生";</p><p><b> break;</b></p>&l
66、t;p> case "教師":</p><p> UserType = "教師";</p><p><b> break;</b></p><p> case "管理員":</p><p> UserType = "管理員";
67、</p><p><b> break;</b></p><p><b> }</b></p><p> return temp;</p><p><b> }</b></p><p> public static string GetUser
68、NO()</p><p><b> {</b></p><p> return UserNO;</p><p><b> }</b></p><p> public static string GetUserType()</p><p><b> {&l
69、t;/b></p><p> return UserType;</p><p><b> }</b></p><p> public static bool ChargePass()</p><p><b> {</b></p><p> return IsP
70、ass;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> using System;</p><p> using System.Collections.Gen
71、eric;</p><p> using System.ComponentModel;</p><p> using System.Data;</p><p> using System.Drawing;</p><p> using System.Linq;</p><p> using System.Te
72、xt;</p><p> using System.Windows.Forms;</p><p> namespace MainFormSpace.StudentManageForm</p><p><b> {</b></p><p> public partial class StuManage : Form
73、</p><p><b> {</b></p><p> private string Sdept = "所有院系";</p><p> private string Class = "所有班級(jí)";</p><p> private string Major = "
74、;所有專業(yè)";</p><p> private int CurrentPage = 1; </p><p> private MainFormSpace.QueryStuMsgClass Query;</p><p> private StuManageSpace.Student Stu;</p><p> private
75、 bool IsNew = true;</p><p> private int Selectedindex = 0;</p><p> public StuManage()</p><p><b> {</b></p><p> InitializeComponent();</p><p&g
76、t;<b> }</b></p><p> private void StuManage_Load(object sender, EventArgs e)</p><p><b> {</b></p><p> Query = new QueryStuMsgClass(Class,Sdept,Major,Curre
77、ntPage);</p><p> Query.GetMsgForGDV(StuMsgDGV,CurrentPagelbl,SumPagelbl,RecordMsglbl);</p><p> Query.getMsgForcbx(ClassCBX,SdeptCBX,MajorCBX);</p><p> Query.getMsgForNewcbx(AddNe
78、wStuClassCBX,AddNewStuSdeptCBX,AddNewStuMajorCBX);</p><p><b> }</b></p><p> private void btnQuery_Click(object sender, EventArgs e)</p><p><b> {</b></p
79、><p> StatusMsg.Text = "";</p><p> Sdept = SdeptCBX.Text.Trim();</p><p> Class = ClassCBX.Text.Trim();</p><p> Major = MajorCBX.Text.Trim();</p><p
80、> Query = new QueryStuMsgClass(Class,Sdept,Major,CurrentPage);</p><p> Query.GetMsgForGDV(StuMsgDGV,CurrentPagelbl,SumPagelbl,RecordMsglbl);</p><p><b> }</b></p><p&g
81、t; private void btnExit_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> this.Close();</p><p><b> }</b></p><p> private void Down
82、Pagelbl_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> CurrentPage=int.Parse(CurrentPagelbl.Text.Substring(CurrentPagelbl.Text.IndexOf(":") + 1))+1;</p>
83、<p> Query = new QueryStuMsgClass(Class, Sdept, Major, CurrentPage);</p><p> Query.GetMsgForGDV(StuMsgDGV, CurrentPagelbl, SumPagelbl, RecordMsglbl);</p><p> CurrentPage = int.Parse(Cu
84、rrentPagelbl.Text.Substring(CurrentPagelbl.Text.IndexOf(":") + 1));</p><p><b> }</b></p><p> private void UpPagelbl_Click(object sender, EventArgs e)</p><p>
85、<b> {</b></p><p> CurrentPage = int.Parse(CurrentPagelbl.Text.Substring(CurrentPagelbl.Text.IndexOf(":") + 1)) - 1;</p><p> if (CurrentPage<=0)</p><p>&l
86、t;b> {</b></p><p> CurrentPage = 1;</p><p><b> }</b></p><p> Query = new QueryStuMsgClass(Class, Sdept, Major, CurrentPage);</p><p> Query.Get
87、MsgForGDV(StuMsgDGV, CurrentPagelbl, SumPagelbl, RecordMsglbl);</p><p> CurrentPage = int.Parse(CurrentPagelbl.Text.Substring(CurrentPagelbl.Text.IndexOf(":") + 1));</p><p><b>
88、 }</b></p><p> private void NewStuMsgbtn_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> if (IsNew)</p><p><b> {</b></p&
89、gt;<p> Stu = new StuManageSpace.Student(AddNewStuNOtxt.Text.Trim(), AddNewStuNametxt.Text.Trim(), AddNewStuClassCBX.Text.Trim(), AddNewStuSdeptCBX.Text.Trim(), AddNewStuMajorCBX.Text.Trim());</p><p>
90、; switch (Stu.CreateOneNewStudent())</p><p><b> {</b></p><p> case 1: //創(chuàng)建學(xué)生信息成功</p><p> StuManage_Load(null, null);</p><p> StatusMsg.Text = "創(chuàng)建學(xué)
91、生成功";</p><p><b> break;</b></p><p> case 0: //創(chuàng)建學(xué)生信息失敗</p><p> StatusMsg.Text = "學(xué)生信息創(chuàng)建失敗";</p><p><b> break;</b></p>
92、<p> case -1: //該學(xué)生信息已經(jīng)錄入</p><p> StatusMsg.Text = "該生已經(jīng)被錄入";</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</
93、b></p><p><b> else</b></p><p><b> {</b></p><p> StatusMsg.Text = "";</p><p> IsNew = false;</p><p> MsgChangebtn.
94、Enabled = false;</p><p> AddNewStuNOtxt.Text = ""; //學(xué)號(hào)</p><p> AddNewStuNametxt.Text = "";//姓名</p><p> AddNewStuClassCBX.SelectedIndex =0 ;//班級(jí)</p>&l
95、t;p> AddNewStuSdeptCBX.SelectedIndex = 0;//院系</p><p> AddNewStuMajorCBX.SelectedIndex = 0; //專業(yè)</p><p><b> }</b></p><p><b> }</b></p><p>
96、 private void StuMsgDGV_CellClick(object sender, DataGridViewCellEventArgs e)</p><p><b> {</b></p><p> if (e.RowIndex < 0)</p><p><b> {</b></p>
97、<p><b> return;</b></p><p><b> }</b></p><p> switch(e.ColumnIndex)</p><p><b> {</b></p><p> case 0: //編輯事件</p><
98、;p> Edit(e.RowIndex);</p><p><b> break;</b></p><p> case 1: //刪除事件</p><p> Delete(StuMsgDGV.Rows[e.RowIndex].Cells[2].Value.ToString());</p><p><
99、b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> private void Edit(int Rowindex)</p><p><b> {</b></p>&l
100、t;p> Selectedindex = Rowindex;</p><p> AddNewStuNOtxt.Text = StuMsgDGV.Rows[Rowindex].Cells[2].Value.ToString(); //學(xué)號(hào)</p><p> AddNewStuNametxt.Text = StuMsgDGV.Rows[Rowindex].Cells[3].Valu
101、e.ToString();//姓名</p><p> AddNewStuClassCBX.Text = StuMsgDGV.Rows[Rowindex].Cells[4].Value.ToString();//班級(jí)</p><p> AddNewStuSdeptCBX.Text = StuMsgDGV.Rows[Rowindex].Cells[5].Value.ToString();/
102、/院系</p><p> AddNewStuMajorCBX.Text = StuMsgDGV.Rows[Rowindex].Cells[6].Value.ToString(); //專業(yè)</p><p> MsgChangebtn.Enabled = true; //可以修</p><p> IsNew = false;</p><p&g
103、t;<b> }</b></p><p> private void Delete(string Id)</p><p><b> {</b></p><p> Stu = new StuManageSpace.Student(Id);</p><p> if (MessageBox.Sh
104、ow("確認(rèn)要?jiǎng)h除信息嗎?", "確認(rèn)信息", MessageBoxButtons.OKCancel) == DialogResult.Cancel)</p><p><b> {</b></p><p><b> return;</b></p><p><b> }
105、</b></p><p> if (Stu.DeleteStudent())</p><p><b> {</b></p><p> StuManage_Load(null, null);</p><p> StatusMsg.Text = "刪除學(xué)生信息成功";</p>
106、;<p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> StatusMsg.Text="刪除學(xué)生信息失敗";</p><p><b> }</
107、b></p><p><b> }</b></p><p> private void MsgChangebtn_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> Stu = new StuManageSpace
108、.Student(AddNewStuNOtxt.Text.Trim(), AddNewStuNametxt.Text.Trim(), AddNewStuClassCBX.Text.Trim(), AddNewStuSdeptCBX.Text.Trim(), AddNewStuMajorCBX.Text.Trim());</p><p> if (Stu.UpateStuMsg())</p><
109、;p><b> {</b></p><p> StuManage_Load(null,null);</p><p> if (Selectedindex != 0)</p><p><b> {</b></p><p> StuMsgDGV.Rows[0].Selected = fa
110、lse;</p><p><b> }</b></p><p> StuMsgDGV.Rows[Selectedindex].Selected = true;</p><p> IsNew = true;</p><p> MsgChangebtn.Enabled = false;</p><
111、p> AddNewStuNOtxt.Text = ""; //學(xué)號(hào)</p><p> AddNewStuNametxt.Text = "";//姓名</p><p> AddNewStuClassCBX.SelectedIndex = 0;//班級(jí)</p><p> AddNewStuSdeptCBX.Selec
112、tedIndex = 0;//院系</p><p> AddNewStuMajorCBX.SelectedIndex = 0; //專業(yè)</p><p> StatusMsg.Text = "更新學(xué)生信息成功";</p><p><b> }</b></p><p><b> els
113、e</b></p><p><b> {</b></p><p> StatusMsg.Text="更改學(xué)生信息失敗"; </p><p><b> }</b></p><p><b> }</b></p><p>
114、;<b> }</b></p><p><b> }</b></p><p> // 下面是教師管理界面代碼</p><p> using System;</p><p> using System.Collections.Generic;</p><p> us
115、ing System.ComponentModel;</p><p> using System.Data;</p><p> using System.Drawing;</p><p> using System.Linq;</p><p> using System.Text;</p><p> usin
116、g System.Windows.Forms;</p><p> namespace MainFormSpace.TeachManageForm</p><p><b> {</b></p><p> public partial class TeachMessage : Form</p><p><b>
117、; {</b></p><p> private int CurrentPage=1;//默認(rèn)當(dāng)前也是1</p><p> private string Sdept = "所有院系";</p><p> private string Major = "所有專業(yè)";</p><p>
118、 private QuerySpace.QueryTeacherMsg query = null;</p><p> private TeacherSpace.Teacher teacher = null;</p><p> private bool IsNew = true;</p><p> public TeachMessage()</p>
119、<p><b> {</b></p><p> InitializeComponent();</p><p><b> }</b></p><p> private void TeachMessage_Load(object sender, EventArgs e)</p><p&g
120、t;<b> {</b></p><p> query = new QuerySpace.QueryTeacherMsg(TechMsgDiv, CurrentPagelbl, SumPagelbl, RecordSumlbl,AddNewSdeptCBX,AddNewMajor,SdeptCBX,MajorCBX);</p><p> query.Curren
121、Pg();</p><p> query.getMsgForNewcbx();</p><p> query.getMsgForcbx();</p><p><b> }</b></p><p> private void Querybtn_Click(object sender, EventArgs e)<
122、;/p><p><b> {</b></p><p> ShowErrMsg.Text = "";</p><p> Sdept = SdeptCBX.Text.Trim();</p><p> Major = MajorCBX.Text.Trim();</p><p>
123、 query.SetSdept(Sdept, Major);</p><p> query.SetCurrentPage(1);</p><p> query.CurrenPg();</p><p><b> }</b></p><p> private void DownPagelbl_Click(object
124、 sender, EventArgs e)</p><p><b> {</b></p><p> query.SetSdept(Sdept,Major);</p><p> query.DownPage();</p><p><b> }</b></p><p>
125、 private void UpPagelbl_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> query.SetSdept(Sdept, Major);</p><p> query.UpPage();</p><p><b>
126、 }</b></p><p> private void Exitbtn_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> this.Close();</p><p><b> }</b></p&g
127、t;<p> private void AddNewTeacher_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> if (IsNew)</p><p><b> {</b></p><p> tea
128、cher = new TeacherSpace.Teacher(TechNOtxt.Text.Trim(), TechNametxt.Text.Trim(), AddNewSdeptCBX.Text.Trim(), AddNewMajor.Text.Trim());</p><p> switch (teacher.CreateNewTeacher())</p><p><b>
129、; {</b></p><p><b> case 1:</b></p><p> query.SetSdept(Sdept, Major);</p><p> query.CurrenPg();</p><p> query.getMsgForcbx();</p><p>
130、 query.getMsgForNewcbx();</p><p> ClearMsg();</p><p> SdeptCBX.Text = Sdept;</p><p> MajorCBX.Text = Major;</p><p> ShowErrMsg.Text = "創(chuàng)建教師信息成功";</p&g
131、t;<p><b> break;</b></p><p><b> case 0:</b></p><p> MessageBox.Show("創(chuàng)建教師信息失敗");</p><p> ShowErrMsg.Text = "創(chuàng)建教師信息失敗";</p&g
132、t;<p><b> break;</b></p><p><b> case -1:</b></p><p> ShowErrMsg.Text = "數(shù)據(jù)庫(kù)中已經(jīng)存在該教師信息";</p><p><b> break;</b></p><
133、;p><b> }</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> IsNew = true;</p><p> C
134、hangeMsgbtn.Enabled = false;</p><p> ClearMsg();</p><p><b> }</b></p><p><b> }</b></p><p> private void ClearMsg()</p><p><b
135、> {</b></p><p> TechNametxt.Text = "";</p><p> TechNOtxt.Text = "";</p><p><b> }</b></p><p> private void TechMsgDiv_CellC
136、lick(object sender, DataGridViewCellEventArgs e)</p><p><b> {</b></p><p> if (e.RowIndex < 0)</p><p><b> {</b></p><p><b> return;&l
137、t;/b></p><p><b> }</b></p><p> // MessageBox.Show(e.ColumnIndex+"");</p><p> switch(e.ColumnIndex)</p><p><b> {</b></p>
138、<p> case 0: //編輯事件</p><p> Edit(e.RowIndex);</p><p><b> break;</b></p><p> case 1: //添加課程事件</p><p> AddCourse(TechMsgDiv.Rows[e.RowIndex].Cells[3
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---學(xué)生學(xué)籍管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)-課程設(shè)計(jì)--學(xué)生管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告--學(xué)生成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---學(xué)生成績(jī)管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--學(xué)生籍貫管理系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--學(xué)生信息系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----huffman編碼
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告-學(xué)校導(dǎo)游系統(tǒng)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告--車庫(kù)管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論