999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ASP.Net的畢業設計雙選系統中幾個關鍵問題的研究

2018-02-02 12:48:40鄭天宇張玉軍楊陽孫一笑
電腦知識與技術 2018年1期
關鍵詞:功能

鄭天宇+張玉軍+楊陽+孫一笑

摘要:畢業設計雙選系統在高校辦公室管理中是個重要的環節,其中教師和學生的分配問題更為重要。該文在功能上實現了教師和學生的相互選擇和分配問題,使得高校辦公更加簡潔化、網絡化。

關鍵詞:畢業設計系統;功能;ASP.Net;C#

中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2018)01-0115-02

在畢業設計雙選系統中,學生希望選擇到自己心儀的指導教師,教師希望自己的學生能夠勝任畢業設計的任務要求,系主任希望統計方便、分組便捷,管理員希望每個學生都能分配到教師的隊伍中,滿足這一系列的要求畢業設計雙選系統才算初步達到要求。本文主要分析并實現了在開發中比較復雜并重要的功能模塊,方便計算機專業的初學者能快速找到畢業設計雙選系統開發的基本思路與方法。

1 功能需求和分析

1.1 功能需求

本文中的畢業設計雙選系統目的是方便于學生與教師在畢業設計過程中的雙向選擇,減少人為統計過程的復雜繁瑣,應用于高校辦公室的一個應用型的管理系統。系統應能實現不同用戶(學生、教師、系主任、管理員)訪問并操作不同的功能模塊。學生:學生選擇教師、修改個人信息、訪問系統公告等。教師:教師選擇學生、修改個人信息、訪問系統公告、導出選擇結果表等。系主任:自動分配剩余學生、教師分組、查看最終選擇結果等。管理員:更新系統公告、對數據進行增刪改差、分配用戶權限等。

1.2 功能分析

基于asp.net技術的畢業設計管理系統在全國各大高校的信息管理系統中已經廣泛使用,在功能分析上我們只對部分比較復雜的功能進行具體分析。

1) 雙選功能

雙選功能包括學生選擇教師和教師選擇學生,在學生選擇教師中本系統采用的是下拉框的級聯,使系統控制學生先選擇第一志愿再選擇第二志愿,其中第一志愿被選擇的教師不會在第二志愿的下拉框中再次出現避免重復選擇。

2) 自動分配剩余學生功能

在進行完所有人員的選擇后會剩余一部分沒有選擇成功的學生和隊伍未滿的指導教師,所以在系主任的功能模塊上添加了一個可以自動分配剩余學生的按鈕,可以將沒有選擇成功的學生隨機分配到隊伍未滿的教師隊伍中,節省時間而且公平公正。

2 具體實現

2.1 學生選擇教師功能

除了上文介紹的基本思路外在下拉框的級聯中需要注意的一點是需要在選擇第一志愿后才能進行第二志愿下拉框的數據綁定,具體實現代碼如下

protected void Volunteer1_SelectedIndexChanged(object sender, EventArgs e)

{DataBase db = new DataBase();string sql = "select tno,tname from teacher_information where tname!='"+ Volunteer1.SelectedValue + "'";DataSet ds = db.GetDataSet(sql);Volunteer2.DataSource = ds;Volunteer2.DataTextField = "tname";Volunteer2.DataValueField = "tno";Volunteer2.DataBind();Volunteer2.Items.Insert(0, new ListItem("=請先選擇第一志愿=", "0"));}

其中DataBase是一個數據庫操作類可以直接獲得DataSet,前臺的樣式如圖1

2.2 教師選擇學生功能

在此功能模塊中第一志愿和第二志愿的選擇分兩個部分,教師必須先選擇第一志愿里的學生,如果教師可選的人數大于第一志愿可選的人數第二志愿選擇的按鈕才會開啟,具體代碼實現如下

string sql ="select students_information.sno,class,name from choose_result,students_information where choose_result.sno=students_information.sno and tno='" + username + "'and zhiyuanNum=1";

DataSet ds = db.GetDataSet(sql);

GridView1.DataSource = ds.Tables[0];

GridView1.DataBind();

string sqll ="select students_information.sno,class,name from choose_result,students_information where choose_result.sno=students_information.sno and tno='" +

username + "'and zhiyuanNum=2";

DataSet dss = db.GetDataSet(sqll);

GridView2.DataSource = dss.Tables[0];

GridView2.DataBind();

int num = db.GetChooseNum(username);

choose_num.Text = Convert.ToString(num);

if (num == 0)

{btn_First.Enabled = false;btn_Second.Enabled = false;}endprint

else if( GridView1.Rows.Count > num )

btn_Second.Enabled = false;

前臺的樣式如圖2

2.3 剩余學生自動分配功能

在此功能模塊中將已分配的學生和所有的學生取差集后用隨機數的方式將下標進行打亂再分配到不同的教師組別中,實現代碼如下

protected void distribute_Click(object sender, EventArgs e)

{DialogResult dr = MessageBox.Show("是否自動分配剩余學生","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Exclamation,MessageBoxDefaultButton.Button2,MessageBoxOptions.DefaultDesktopOnly);

if (dr == DialogResult.OK)

{string different_set ="select students_information.sno,class,name from students_information where students_information.sno not in(select finally.sno from finally)";string sql = "select choose_num,tno from teacher_information";

DataBase db = new DataBase(); DataSet ds_different = db.GetDataSet(different_set);

DataSet ds_sql = db.GetDataSet(sql); List list = new List();

for (int i = 0; i < ds_sql.Tables[0].Rows.Count; i++)

{int k = Convert.ToInt32(ds_sql.Tables[0].Rows[i]["choose_num"]);

for (int j = 0; j < ds_different.Tables[0].Rows.Count; j++)

{Random r = new Random();int num = r.Next(0, ds_different.Tables[0].Rows.Count);//隨機下標if (k != 0 && !list.Contains(num))

{list.Add(num);//保證不重復

string Sno = ds_different.Tables[0].Rows[num]["sno"].ToString();

string Class = ds_different.Tables[0].Rows[num]["class"].ToString();

string Name = ds_different.Tables[0].Rows[num]["name"].ToString();

string tno = ds_sql.Tables[0].Rows[i]["tno"].ToString();

string insert_sql = "insert into finally values('" + tno + "','" + Sno + "','" + Class + "','" +Name + "' )";db.InsertOrUpdate(insert_sql);k—;

ds_sql.Tables[0].Rows[i]["choose_num"] = Convert.ChangeType(k, TypeCode.Object);

string update = "update teacher_information set choose_num ='"+ k +"'where tno='"+ tno +"'";db.InsertOrUpdate(update); ds_different.Tables[0].Rows[num].Delete();}

else if( k == 0 ){break;}else{j—;}}}MessageBox.Show("分配成功!");}else{MessageBox.Show("取消自動分配!");}}

3 結束語

本文中具體介紹的功能模塊具有較強的應用與實用性,能夠適應畢業設計雙選過程中的大部分的現實需求。在VS2010平臺上進行畢業設計雙選系統的開發相對其他平臺比較便捷,有效及時地解決了一些問題,給很多計算機專業的初學者提供了一個比較明確的開發思路,減少在開發中遇到的難題。

參考文獻:

[1] 薩師煊.數據庫系統概論[M].5版.北京:高等教育出版社,2014.

[2] 吳善才.ASP.NET4.0項目開發實戰密碼[M].北京:清華大學出版社,2016.

[3] 錢冬云.Visual C#.NET數據庫應用程序開發[M].杭州:浙江大學出版社,2010.

猜你喜歡
功能
拆解復雜功能
鐘表(2023年5期)2023-10-27 04:20:44
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
基層弄虛作假的“新功能取向”
當代陜西(2021年21期)2022-01-19 02:00:26
深刻理解功能關系
鉗把功能創新實踐應用
關于非首都功能疏解的幾點思考
基于PMC窗口功能實現設備同步刷刀功能
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 免费人成在线观看成人片| 四虎永久在线视频| 日韩国产亚洲一区二区在线观看| 欧美不卡视频一区发布| 99re热精品视频中文字幕不卡| 免费高清a毛片| 亚洲国产中文精品va在线播放| 91在线国内在线播放老师| 亚洲不卡无码av中文字幕| 欧美成人国产| 亚洲男人的天堂久久香蕉| 麻豆精品在线| 欧美视频免费一区二区三区| 97成人在线观看| 免费A∨中文乱码专区| 波多野结衣的av一区二区三区| 国产精品美女自慰喷水| 成人无码区免费视频网站蜜臀| 中文字幕永久在线看| 日本黄色不卡视频| 免费观看无遮挡www的小视频| 五月天综合网亚洲综合天堂网| 久久99精品久久久久纯品| 国产女人在线| 尤物精品视频一区二区三区| 99热国产这里只有精品无卡顿"| 亚洲日本中文综合在线| www.亚洲色图.com| 人妻丝袜无码视频| 国产主播在线观看| 国产精品性| 亚洲天堂视频网| 久久窝窝国产精品午夜看片| 国产青榴视频| a级毛片在线免费| 精品欧美一区二区三区久久久| 欧美影院久久| 成人一区在线| 久久久久久久久久国产精品| 国产视频a| 国产亚洲高清在线精品99| 91无码人妻精品一区二区蜜桃| 中文字幕人成人乱码亚洲电影| 日本免费新一区视频| 中文字幕啪啪| 久久精品娱乐亚洲领先| 日韩精品成人在线| 日韩av手机在线| 国产鲁鲁视频在线观看| 国产剧情无码视频在线观看| 国产精品综合久久久 | 久久亚洲综合伊人| 欧美一区二区自偷自拍视频| 国产在线观看精品| 麻豆国产在线观看一区二区| 亚洲天堂视频网站| 日韩欧美国产综合| 91精品日韩人妻无码久久| 91年精品国产福利线观看久久| 免费人成黄页在线观看国产| 手机在线看片不卡中文字幕| 亚洲va欧美ⅴa国产va影院| 99久久精品无码专区免费| 九九视频免费看| 在线观看91精品国产剧情免费| 毛片视频网址| 久久先锋资源| 久久人人妻人人爽人人卡片av| 国产一区二区三区在线精品专区| 91福利免费视频| 精品久久久无码专区中文字幕| 一本大道香蕉中文日本不卡高清二区| 精品国产自在在线在线观看| 国产永久无码观看在线| 欧美h在线观看| 欧美另类图片视频无弹跳第一页| 亚洲午夜福利精品无码| 91麻豆精品视频| 免费观看男人免费桶女人视频| 欧美精品伊人久久| 免费jizz在线播放| 国产一区二区免费播放|