基于C的研究生管理系統(tǒng)課程設(shè)計論文_第1頁
基于C的研究生管理系統(tǒng)課程設(shè)計論文_第2頁
基于C的研究生管理系統(tǒng)課程設(shè)計論文_第3頁
基于C的研究生管理系統(tǒng)課程設(shè)計論文_第4頁
基于C的研究生管理系統(tǒng)課程設(shè)計論文_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、. . . . 目 錄第1章 概述11.1項目的目的和意義11.2項目體系結(jié)構(gòu)與開發(fā)環(huán)境11.3系統(tǒng)基本功能1第2章系統(tǒng)設(shè)計22.1系統(tǒng)的模塊劃分22.2數(shù)據(jù)庫設(shè)計4第3章系統(tǒng)的詳細(xì)設(shè)計與實現(xiàn)63.1公共類63.2系統(tǒng)登錄與主窗體83.3 系統(tǒng)管理133.4專業(yè)管理203.5課程管理303.6研究生管理313.7成績管理333.8用戶管理343.9 幫助36結(jié)論37參考文獻(xiàn)3841 / 42第1章 概 述1.1項目的目的和意義本次課程設(shè)計的題目是“研究生信息管理系統(tǒng)”的設(shè)計與實現(xiàn)。該設(shè)計是對本學(xué)期前八周所學(xué)的C#程序設(shè)計課程的鞏固和深入應(yīng)用。利用前面學(xué)過的知識來解決實際問題,鍛煉解決問題的能力

2、和動手編程的能力。同時初步理解軟件開發(fā)步驟和軟件工程思想。并且通過親手編寫程序與開動腦筋,這加深理解并鞏固所學(xué)專業(yè)知識,進(jìn)一步提高認(rèn)識問題、分析問題、解決問題的能力,為今后走向社會,適應(yīng)工作,對某些軟件實際要求做好思想準(zhǔn)備和知識儲備。 1.2項目體系結(jié)構(gòu)與開發(fā)環(huán)境1 本系統(tǒng)采用Client/Server體系結(jié)構(gòu)。2 系統(tǒng)開發(fā)環(huán)境1) 開發(fā)平臺:Microsoft Visual Studio 20082) 開發(fā)語言:C#3) 數(shù)據(jù)庫:Access20033 系統(tǒng)運(yùn)行環(huán)境客戶端:操作系統(tǒng):Windows 2007、Windows XP服務(wù)器端:數(shù)據(jù)庫:Access20031.3系統(tǒng)基本功能在以上環(huán)

3、境下對研究生信息管理系統(tǒng)進(jìn)行開發(fā)與設(shè)計。主要實現(xiàn)系統(tǒng)登錄、系統(tǒng)管理、專業(yè)管理、課程管理、研究生管理、成績管理、用戶管理等主要功能。第2章系統(tǒng)設(shè)計2.1系統(tǒng)的模塊劃分研究生信息管理系統(tǒng)是學(xué)校教務(wù)系統(tǒng)中不可缺少的一個子系統(tǒng),它涉與到學(xué)生、課程等信息的結(jié)合。學(xué)生選課系統(tǒng)包括以下七個模塊:1登錄模塊登錄模塊提供用戶登錄界面,用戶輸入正確的用戶名和密碼后,則可進(jìn)入系統(tǒng)主窗口(即導(dǎo)航頁面),從而可以選擇進(jìn)入相應(yīng)的子系統(tǒng)。2系統(tǒng)管理模塊系統(tǒng)管理模塊主要用戶管理用戶的基本信息,包括兩個方面:角色管理和用戶管理。其中角色管理包括,新建角色,修改角色權(quán)限,刪除角色;而用戶管理是管理用戶相關(guān)信息,主要包括注冊用戶,

4、注銷用戶,修改用戶權(quán)限。在這個模塊中只有系統(tǒng)管理員才有此權(quán)限進(jìn)入并對角色和用戶信息進(jìn)行管理。 3專業(yè)管理模塊專業(yè)管理模塊主要用于管理專業(yè)信息,包括專業(yè)代號、專業(yè)名、和專業(yè)描述,實現(xiàn)對專業(yè)的添加,修改,刪除,瀏覽的功能。4 課程管理模塊 課程管理模塊主要用于對眾多課程的管理,包括課程名,課程代號,課時,所屬專業(yè),授課地點。實現(xiàn)對課程信息的添加,修改,刪除,和瀏覽功能。5 研究生管理模塊研究生管理模塊用于管理維護(hù)研究生信息,是該系統(tǒng)的重要一環(huán),包括學(xué)號,性別,出生日期,教師代號,所屬專業(yè)構(gòu)成,實現(xiàn)開學(xué)時對研究生基本信息的錄入與后期管理,所以也是包含了添加,修改,刪除,查詢四個子功能。6 成績管理模

5、塊成績管理模塊用于記錄研究生成績信息,包括學(xué)號、課程名和分?jǐn)?shù)。實現(xiàn)對學(xué)生成績的錄入修改刪除查詢的功能,同時在成績的變更過程中用學(xué)號代替了,有效防止重名等問題導(dǎo)致學(xué)生成績出錯的困擾,同時也給學(xué)生一點隱私空間,7 用戶管理模塊用戶管理模塊式唯一不受權(quán)限管制的模塊,所有用戶均可以進(jìn)入該模塊修改登錄密碼或者重新登錄另一位用戶。8幫助模塊幫助模塊簡要提示該系統(tǒng)操作要點。由于系統(tǒng)設(shè)計簡單實用,凡是不合理操作均有提示,新用戶只需根據(jù)提示操作即可實現(xiàn)相應(yīng)功能。系統(tǒng)功能模塊圖如圖2-1所示。研究生管理信息系統(tǒng)用戶管理成績管理研究生管理課程管理專業(yè)管理系統(tǒng)管理重新登錄修改密碼課程查詢課程刪除課程添加專業(yè)查詢專業(yè)刪

6、除專業(yè)添加角色管理用戶信息管理課程修改專業(yè)修改成績查詢成績刪除成績修改成績添加研究生信息添加研究生信息修改研究生信息刪除研究生信息查詢圖2-1 研究生管理信息系統(tǒng)模塊圖 2.2數(shù)據(jù)庫設(shè)計根據(jù)前面的分析,研究生管理信息系統(tǒng)數(shù)據(jù)庫(masterMIS)中包括系統(tǒng)用戶信息“UserInfo”、角色信息“Roles”、專業(yè)信息“MajorInfo”、課程信息“CourseInfo”、研究生信息“StudentInfo”、成績信息“ScoreInfo”、教師信息“TeacherInfo”七個數(shù)據(jù)表。表的結(jié)構(gòu)、表字段的數(shù)據(jù)類型與相關(guān)說明如下:1.系統(tǒng)用戶表系統(tǒng)用戶表“UserInfo”用于存放系統(tǒng)用戶的相

7、關(guān)數(shù)據(jù)。其結(jié)構(gòu)如表2-1所示。表2-1 系統(tǒng)用戶表列名說明數(shù)據(jù)類型約束UName用戶名字符串,長度為16主鍵PWD用戶密碼字符串,長度為16非空RoleName角色字符串,長度為16非空2.角色信息表角色信息表“Roles”結(jié)構(gòu)如表2-2所示。表2-2角色信息表列名說明數(shù)據(jù)類型約束RoleName角色名字符串,長度為20主鍵SystemManage系統(tǒng)管理是/否可空MajorManage專業(yè)管理是/否可空CourseManage課程管理是/否可空MasterManage研究生管理是/否可空ScoreManage成績管理是/否可空UserManage用戶管理是/否可空3.專業(yè)信息表學(xué)生信息表“M

8、ajorInfo”結(jié)構(gòu)如表2-3所示。表2-3專業(yè)信息表列名說明數(shù)據(jù)類型約束MName專業(yè)名字符串,長度為10主鍵MRemark專業(yè)描述字符串,長度為50非空MNo專業(yè)代號字符串,長度為20非空4.課程信息表課程信息表“CourseInfo”結(jié)構(gòu)如表2-4所示。表2-4 課程信息表列名說明數(shù)據(jù)類型約束CName課程名字符串,長度為20非空CDate課時整數(shù)非空CNum課程號字符串,長度為10主鍵Mname所屬專業(yè)字符串,長度為10非空CPlace授課地點字符串,長度20非空5.學(xué)生信息表學(xué)生信息表“StudentInfo”結(jié)構(gòu)如表2-5所示。表2-5 學(xué)生信息表列名說明數(shù)據(jù)類型約束SID學(xué)號字

9、符串,長度為10主鍵 SName字符串,長度為10非空SSex性別字符串,長度為10只能選擇”男”或”女”SBirth生日字符串,長度為20非空TID教師號字符串,長度為10主鍵,引用TeacherInfo的外碼MName所屬專業(yè)字符串,長度為20主鍵,引用MajorInfo的外碼6成績信息表成績信息表“ScoreInfo”用于學(xué)生成績的相關(guān)數(shù)據(jù)。其結(jié)構(gòu)如表2-6所示。表2-6 系統(tǒng)用戶表列名說明數(shù)據(jù)類型約束SID學(xué)號字符串,長度為16主鍵CName課程字符串,長度為16非空Score分?jǐn)?shù)整數(shù)非空7.教師信息表教師信息表“TeacherInfo”結(jié)構(gòu)如表2-7所示。表2-7選課信息表列名說明數(shù)

10、據(jù)類型約束TID教師號字符串,長度為10主鍵 TName字符串,長度為10非空第3章系統(tǒng)的詳細(xì)設(shè)計與實現(xiàn)3.1公共類考慮到系統(tǒng)的各個模塊都需要訪問數(shù)據(jù)庫,因此最好的方法是編寫一些訪問數(shù)據(jù)庫的方法,如返回數(shù)據(jù)集的公共查詢方法,執(zhí)行數(shù)據(jù)操作的公共方法,并把它們放在一個公共的類(DataBase)中,然后在各模塊中調(diào)用這些方法來實現(xiàn)對數(shù)據(jù)庫的訪問。同樣,在用戶登錄時,可能需要記錄一些關(guān)于用戶的信息,例如用戶名、用戶權(quán)限等,因此也需要使用到一些公共的靜態(tài)變量,把這些變量放置在一個名為“ClassShared”的類中。3.1.1添加DataBase公共類首先為系統(tǒng)添加一個名為“DataBase”的公共類

11、,用于存放訪問數(shù)據(jù)庫的公共方法。添加公共類的方法和步驟如下:(1)選擇項目->添加類菜單項,將彈出添加新項對話框,保留默認(rèn)的選擇,在“名稱”文本框中輸入“DataBase”。(2)單擊添加按鈕,則類“DataBase”已經(jīng)被添加到項目中,并自動切換到該類的代碼窗口。(3)設(shè)置DataBase類的訪問修飾符為“Public”。3.1.2 編寫公共方法因為在這些方法中需要使用到OleDbConnection、OleDbDataAdapter、DataSet和MessageBox,所以首先應(yīng)當(dāng)引入以下命名空間:using System.Data;using System.Data.OleDb;

12、using System.Windows.Forms;然后為“DataBase”類聲明幾個公共變量:public OleDbConnection dataConnection = new OleDbConnection();public OleDbDataAdapter dataAdapter;public DataSet dataSet = new DataSet();public OleDbCommand command;/定義數(shù)據(jù)庫連接字符串,隨具體環(huán)境而定,應(yīng)根據(jù)容自行調(diào)整string connstr = "Provider = Microsoft.Jet.OLEDB.4.0

13、;" + "DataSource=masterMIS.mdb"1.公共查詢方法GetDataFromDBGetDataFromDB是一個返回數(shù)據(jù)集的公共查詢方法,如果正常訪問則返回查詢結(jié)果;否則返回null。代碼如下:public DataSet GetDataFromDB(string sqlStr)/這是一個返回數(shù)據(jù)集的公共查詢方法try dataConnection.ConnectionString = connstr; dataAdapter = new OleDbDataAdapter(sqlStr, dataConnection); dataSet.C

14、lear(); dataAdapter.Fill(dataSet);/填充數(shù)據(jù)集 dataConnection.Close(); catch (Exception exp)MessageBox.Show(exp.Message); dataConnection.Close(); if (dataSet.Tables0.Rows.Count != 0) return dataSet; /若找到相應(yīng)數(shù)據(jù)返回數(shù)據(jù)集 else return null; /若找不到相應(yīng)數(shù)據(jù)返回空值2.公共類數(shù)據(jù)操作方法UpdateDB公共類數(shù)據(jù)操作方法UpdateDB用于對數(shù)據(jù)進(jìn)行添加、修改和刪除操作,若操作成功則返回

15、true,否則 返回false。代碼如下:public bool UpdateDB(string sqlStr)/公共數(shù)據(jù)操作方法,用于對數(shù)據(jù)進(jìn)行增,改,刪操作 try dataConnection.ConnectionString = connstr; dataConnection.Open(); command = dataConnection.CreateCommand(); command mandText = sqlStr; command.ExecuteNonQuery(); dataConnection.Close(); /關(guān)閉連接return true; catch (Exce

16、ption exp) MessageBox.Show(exp.Message); return false; 3.靜態(tài)公共類ClassShared用于記錄用戶名和用戶角色,代碼如下:namespace 研究生管理信息系統(tǒng) public class ClassShared/用于記錄用戶名和用戶角色public static string userInfo = new string2; 3.2系統(tǒng)登錄與主窗體登錄是每一個成功項目中不可缺少的模塊,好的登錄模塊可以保證系統(tǒng)的可靠性和安全性。3.2.1 登錄界面設(shè)計新建一個Windows應(yīng)用程序,命名為“研究生信息管理系統(tǒng)”,使用PictureBox、

17、Label、TextBox、Button控件將出現(xiàn)的默認(rèn)窗體Form1設(shè)計成如圖3-1所示。圖3-1 登錄界面3.2.2 登錄功能實現(xiàn)與代碼接下來編寫登錄模塊的代碼。確認(rèn)按鈕用于驗證輸入的用戶名和用戶密碼,若正確則進(jìn)入系統(tǒng)主界面;否則彈出錯誤提示,并等待用戶的重新輸入。登錄時,需要記錄登錄的用戶名和用戶權(quán)限,因此在“ClassShared”公共類中聲明公共靜態(tài)成員,聲明后“ClassShared”公共類的代碼上文已有。然后切換到“frmMain”窗體設(shè)計器,雙擊登錄按鈕,編寫其單擊事件的代碼如下:通過判斷輸入文本框中的用戶名與密碼是否與UserInfo表中的用戶密碼相匹配,決定是進(jìn)入主界面還是

18、報錯提示用戶重新輸入。 private void btnOK_Click(object sender, EventArgs e) try /驗證登錄密碼 DataSet ds = new DataSet(); DataBase db = new DataBase(); string sqlStr = "select PWD,RoleName from UserInfo where UName='" + txtUserName.Text.Trim() + "'" ds = db.GetDataFromDB(sqlStr); if (ds.T

19、ables0.Rows0.ItemArray0.ToString() = txtPassword.Text.Trim()/密碼正確情況,進(jìn)入主界面 FrmMain frmmain = new FrmMain(); ClassShared.userInfo0 = txtUserName.Text.Trim(); ClassShared.userInfo1 = ds.Tables0.Rows0.ItemArray1.ToString(); frmmain.Show(); this.Hide(); else/密碼錯誤情況,返回重新輸入 MessageBox.Show(" 用戶名或密碼輸入錯

20、誤,請重新輸入!"); txtUserName.Text ="" txtPassword.Text ="" txtUserName.Focus(); catch MessageBox.Show("用戶名或密碼錯誤!","錯誤"); 除了窗體中的確認(rèn)按鈕,有時候用戶希望輸入完密碼后想直接按下Enter鍵便進(jìn)入系統(tǒng)主界面,這就需要編寫文本框txtPassword的KeyDown事件代碼,判斷用戶按下的是哪個鍵,如果是Enter則調(diào)用“btnOK-Click”方法已登錄系統(tǒng)。代碼如下:private void

21、txtPassword_KeyDown(object sender, KeyEventArgs e)/Enter鍵按下確認(rèn)if (e.KeyCode = Keys.Enter)btnOK_Click(sender,e);3.2.3 主窗體界面設(shè)計用戶登錄成功后,進(jìn)入系統(tǒng)主界面,通過在選擇主界面上的按鈕進(jìn)入相應(yīng)子系統(tǒng)。所以應(yīng)當(dāng)添加一個名為“frmMain”的主窗體。添加完窗體,然后開始添加Label、GroupBox,Button和StatusStrip控件。接著設(shè)置各控件的屬性,在背景制作上,使用PhotoShop圖像處理軟件將小圖標(biāo)與大背景融合,再將按鈕放置在相應(yīng)圖標(biāo)旁。最后更改按鈕,狀態(tài)欄

22、的背景色,使整個界面為藍(lán)色主調(diào),總之需要根據(jù)實際情況和美觀需求合理設(shè)置。最后將主窗體界面設(shè)計成如圖3-2所示:圖3-2主界面圖3.2.4 主窗體功能實現(xiàn)與代碼1、添加窗體主窗體是導(dǎo)航界面,是進(jìn)入各子系統(tǒng)的入口。因此需要添加7個新的窗體,分別用于系統(tǒng)管理,專業(yè)管理,課程管理,研究生管理,成績管理,用戶管理和幫助,其名稱分別為“frmSystem”、“frmMajor”、“frmCourse”、“frmMaster”、“frmGrade”、“frmUser”和“frmHelp”,添加方法和步驟與前面介紹的“frmMain”的添加過程一樣,這里不再贅述。2、編寫代碼當(dāng)窗體載入時,將前面公共靜態(tài)數(shù)組“

23、userInfo ”保存的用戶名和角色與權(quán)限將在本窗體中體現(xiàn)主來,不同權(quán)限的用戶將使用不同的功能。沒有相應(yīng)的權(quán)限則不能進(jìn)入子系統(tǒng),例如學(xué)生、教師就無法進(jìn)入系統(tǒng)管理等權(quán)限較高的子系統(tǒng);用戶名和角色將顯示在狀態(tài)欄中,同時狀態(tài)欄將顯示具體時間;單擊權(quán)限許可的按鈕將進(jìn)入相應(yīng)的子系統(tǒng);當(dāng)用戶單擊主窗體關(guān)閉按鈕或退出按鈕時,應(yīng)用程序終止運(yùn)行。主窗體代碼如下:通過狀態(tài)欄顯示登錄的用戶、角色和和時間信息;接著通過條件語句判斷用戶角色用以確定用戶權(quán)限,沒有權(quán)限進(jìn)入的模塊將使用按鈕的Enable屬性將其設(shè)置為false,使其不能觸發(fā)改按鈕事件。從而實現(xiàn)權(quán)限的設(shè)置。 private void FrmMain_Loa

24、d(object sender, EventArgs e)/窗體載入事件 tsslblUser.Text = ClassShared.userInfo0 + " "/狀態(tài)欄顯示當(dāng)前用戶,角色和時間 tsslblRole.Text = ClassShared.userInfo1; tsslblTime1.Text = " " + DateTime.Now.ToLongDateString() + " " tsslblTime2.Text = DateTime.Now.ToLongTimeString(); /設(shè)置不同角色的權(quán)限 if (

25、ClassShared.userInfo1 = "系統(tǒng)管理員")/當(dāng)前系統(tǒng)預(yù)設(shè)4種角色 ; else if (ClassShared.userInfo1 = "普通管理員") button1.Enabled = false; else if (ClassShared.userInfo1 = "教師") button1.Enabled = false; button2.Enabled = false; else if (ClassShared.userInfo1 = "學(xué)生") button1.Enabled = f

26、alse; button3.Enabled = false; button4.Enabled = false; public FrmMain() InitializeComponent(); 點擊相應(yīng)按鈕進(jìn)入相應(yīng)的子模塊。按鈕共設(shè)有8個,分別為系統(tǒng)管理、專業(yè)管理、課程管理、研究生管理,成績管理、用戶管理、幫助和退出。 private void button1_Click(object sender, EventArgs e)/進(jìn)入系統(tǒng)管理 FrmSystem frmsystem = new FrmSystem(); frmsystem.Show(); private void button2_

27、Click(object sender, EventArgs e)/進(jìn)入專業(yè)管理 FrmMajor frmmajor = new FrmMajor(); frmmajor.Show(); private void button3_Click(object sender, EventArgs e)/進(jìn)入課程管理 FrmCourse frmcourse = new FrmCourse(); frmcourse .Show(); private void button4_Click(object sender, EventArgs e)/進(jìn)入研究生管理 FrmMaster frmmaster = n

28、ew FrmMaster(); frmmaster.Show(); private void button5_Click(object sender, EventArgs e)/進(jìn)入成績管理 FrmGrade frmgrade = new FrmGrade(); frmgrade.Show(); private void button6_Click(object sender, EventArgs e)/進(jìn)入用戶管理 FrmUser frmuser = new FrmUser(); frmuser.Show(); private void btnClose_Click(object sende

29、r, EventArgs e)/點擊主窗體關(guān)閉退出 Application.Exit(); private void FrmMain_FormClosed(object sender, FormClosedEventArgs e)/退出系統(tǒng) Application.Exit(); private void btnHelp_Click(object sender, EventArgs e)/進(jìn)入幫助 FrmHelp frmhelp = new FrmHelp(); frmhelp.Show(); 3.3 系統(tǒng)管理系統(tǒng)管理模塊主要用于管理用戶的信息,主要用于實現(xiàn)對用戶的添加、修改、刪除和對角色的創(chuàng)

30、建、修改權(quán)限和刪除的功能。3.3.1 角色管理界面設(shè)計打開前面添加的“frmSystem”窗體,使用GroupBox、ToolStip、StatusStrip、Label、Button和DataGridView控件,其中將各Button的Name屬性分被改為與其功能相關(guān)的名字,如“添加”按鈕的Name屬性為“btnAdd”。以此類推將各個控件的“Name”屬性改為與功能相適應(yīng)。其中需注意將DataDridView的ReadOnly屬性改為“True”.將界面設(shè)計為如圖3-3所示:圖3-3角色管理界面3.3.2 角色管理實現(xiàn)與代碼由于角色管理和用戶管理是在同意窗體中實現(xiàn)的,所以借助gbxNewR

31、ole、dgrdvRoles1等的Visible屬性實現(xiàn)同一窗體下實現(xiàn)對不同對象管理。通過單擊工具欄角色管理或者用戶信息管理顯示不同界面,實現(xiàn)不同操作。在實現(xiàn)對角色的添加、修改和刪除的功能時,本模塊需要用到幾個通用方法。如用于清空文本框和組合框的Clear1()方法等等,并且角色信息記錄在數(shù)據(jù)庫masterMIS中的Roles表中。以下都將一一列舉出來:窗體載入發(fā)生事件,講界面置空,只留下狀態(tài)欄和工具欄,通過Visible屬性完成。private void FrmSystem_Load(object sender, EventArgs e) /狀態(tài)欄顯示當(dāng)前用戶,角色和時間 tsslblUse

32、r.Text = ClassShared.userInfo0 + " " tsslblRole.Text = ClassShared.userInfo1; tsslblTime1.Text = " " + DateTime.Now.ToLongDateString() + " " tsslblTime2.Text = DateTime.Now.ToLongTimeString();/設(shè)置初始頁面為空 gbxNewRole.Visible = false; gbxNewUser.Visible = false; RefreshData1

33、(); RefreshData2(); dgrdvRoles1.Visible = false; dgrdvUser.Visible = false; void Clear1()/用于清空gbxNewrole中的文本框與復(fù)選框 txtRole.Text = "" ckxSystem.Checked = false; ckxMajor.Checked = false; ckxCourse.Checked = false; ckxGrade.Checked = false; ckxMaster.Checked = false; ckxUser.Checked = false;

34、void SetHeaderText1()/設(shè)置表頭名字既列標(biāo)題 dgrdvRoles1.Columns0.HeaderText = "角色" dgrdvRoles1.Columns1.HeaderText = "系統(tǒng)管理權(quán)限" dgrdvRoles1.Columns2.HeaderText = "專業(yè)管理權(quán)限" dgrdvRoles1.Columns3.HeaderText = "課程管理權(quán)限" dgrdvRoles1.Columns4.HeaderText = "研究生管理權(quán)限" dgrdv

35、Roles1.Columns5.HeaderText = "成績管理權(quán)限" dgrdvRoles1.Columns6.HeaderText = "用戶管理權(quán)限" 刷新數(shù)據(jù),與數(shù)據(jù)表Roles關(guān)聯(lián),保證數(shù)據(jù)實時更新void RefreshData1()/刷新數(shù)據(jù) string comStr; DataBase db = new DataBase(); DataSet ds = new DataSet(); comStr = "select * from Roles " ds = db.GetDataFromDB(comStr); if

36、(ds = null) MessageBox.Show("無該角色信息記錄!"); else dgrdvRoles1.DataSource = ds.Tables0; SetHeaderText1(); 選擇不同角色記錄時,將表息顯示在dgrdvRoles1中private void dgrdvRoles1_RowHeaderMouseClick(object sender,DataGridViewCellMouseEventArgs e)/將選中一列顯示在組合框中 int n = this.dgrdvRoles1.CurrentCell.RowIndex; txtRole

37、.Text = this.dgrdvRoles10, n.Value.ToString(); ckxSystem.Checked = Convert.ToBoolean(this.dgrdvRoles11, n.Value); ckxMajor.Checked = Convert.ToBoolean(this.dgrdvRoles12, n.Value); ckxCourse.Checked = Convert.ToBoolean(this.dgrdvRoles13, n.Value); ckxGrade.Checked = Convert.ToBoolean( this.dgrdvRoles

38、14, n.Value); ckxMaster.Checked = Convert.ToBoolean( this.dgrdvRoles15, n.Value); ckxUser.Checked = Convert.ToBoolean( this.dgrdvRoles16, n.Value); 隱藏其他組合框和數(shù)據(jù)表,顯示角色管理操作項。private void toolStripButton1_Click(object sender, EventArgs e)/單擊角色管理,載入角色管理 gbxNewRole.Visible = true; dgrdvRoles1.Visible = tru

39、e; gbxNewUser.Visible = false ; dgrdvUser.Visible = false ; 以下實現(xiàn)對角色信息的添改刪和退出操作,代碼應(yīng)分別給出。通過調(diào)用MessageBox方法和if條件語句判斷添加操作正確和錯誤提示。以下添改刪查操作均與數(shù)據(jù)表Roles相關(guān)聯(lián)。private void btnAdd1_Click(object sender, EventArgs e)/添加 try if (txtRole.Text.Trim() != null && (ckxSystem.Checked != false | ckxMajor.Checked !=

40、 false | ckxCourse.Checked != false | ckxMaster.Checked != false | ckxUser.Checked != false | ckxGrade.Checked != false) string sqlStr; sqlStr = "insert into Roles values('" + txtRole.Text.Trim() + "'," + ckxSystem.Checked + "," + ckxMajor.Checked + ","

41、; + ckxCourse.Checked + "," + ckxMaster.Checked + "," + ckxGrade.Checked + "," + ckxUser.Checked + ")" DataBase db = new DataBase(); bool b; b = db.UpdateDB(sqlStr); if (b = true) if (MessageBox.Show("添加成功!繼續(xù)添加嗎?", "添加學(xué)生", MessageBoxButtons

42、.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) = DialogResult.Yes) ; Clear1(); dgrdvRoles1.Visible = true; else return; else MessageBox.Show("角色名不為空,必須選定一定權(quán)限!"); txtRole.Focus(); RefreshData1(); catch (Exception ex) MessageBox.Show(ex.Message); Clear1(); 通過MessageBox方法與i

43、f語句實現(xiàn)修改和報錯,修改代碼:private void btnUpdate1_Click(object sender, EventArgs e)/修改 dgrdvRoles1.Visible = true; try if (txtRole.Text ="") MessageBox.Show("請點擊表選擇要修改的對象!"); else if (MessageBox.Show("確定修改該角色嗎?", "修改角色", MessageBoxButtons.YesNo, MessageBoxIcon.Question,

44、 MessageBoxDefaultButton.Button2) = DialogResult.Yes) string sql; sql = "update Roles set SystemManage=" + ckxSystem.Checked + ",MajorManage=" + ckxMajor.Checked + ",CourseManage=" + ckxCourse.Checked + ",MasterManage=" + ckxMaster.Checked + ",GradeManage

45、=" + ckxGrade.Checked + ",UserManage=" + ckxUser.Checked + " where RoleName='" + txtRole.Text.Trim() + "'" DataBase db = new DataBase(); db.UpdateDB(sql); RefreshData1(); else return; catch (Exception ex) MessageBox.Show(ex.Message); 通過MessageBox方法與if語句實現(xiàn)刪除

46、和報錯,刪除代碼:private void btnDelet1_Click(object sender, EventArgs e)/刪除 dgrdvRoles1.Visible = true; try if (txtRole.Text.Trim() != "") if (MessageBox.Show("確定刪除該角色嗎?", "刪除學(xué)生", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = DialogResult.Yes) string sql; sql = &

溫馨提示

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

評論

0/150

提交評論