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例
主站蜘蛛池模板: 97一区二区在线播放| 一级一级特黄女人精品毛片| 少妇极品熟妇人妻专区视频| 成人精品午夜福利在线播放| 国产永久无码观看在线| 日本精品影院| 国产一线在线| 91久久偷偷做嫩草影院| 天天爽免费视频| 2021国产精品自产拍在线| 久久精品视频一| 亚洲伊人久久精品影院| 国产精品大白天新婚身材| 丰满人妻一区二区三区视频| 91久久偷偷做嫩草影院免费看 | 无码日韩精品91超碰| 亚洲区欧美区| 国产高颜值露脸在线观看| 青青草a国产免费观看| 国产精品午夜福利麻豆| 高清无码手机在线观看| 69精品在线观看| 国产乱子伦视频在线播放| 国产人妖视频一区在线观看| 精品国产免费观看| 爱做久久久久久| 国产日韩丝袜一二三区| 国产网友愉拍精品视频| 国产精欧美一区二区三区| 九九免费观看全部免费视频| 六月婷婷激情综合| 国内视频精品| 亚洲三级a| 最新日韩AV网址在线观看| 亚洲热线99精品视频| 国产精品欧美激情| 伊人激情久久综合中文字幕| 亚洲天堂成人| 国产欧美视频综合二区| 久草视频精品| 亚洲天堂视频网| 91午夜福利在线观看精品| 亚欧乱色视频网站大全| 欧美午夜小视频| 91久久夜色精品国产网站| 免费无码网站| 午夜激情福利视频| www.av男人.com| 大香伊人久久| 亚洲第一视频网站| 国产成人综合网| 亚洲国产精品无码AV| 免费国产无遮挡又黄又爽| 欧美一级特黄aaaaaa在线看片| 97se亚洲综合在线天天| 国产人妖视频一区在线观看| 亚洲第一中文字幕| 尤物精品视频一区二区三区| 国产产在线精品亚洲aavv| 国产福利一区视频| 国产午夜不卡| 亚洲色图综合在线| 99ri国产在线| 精品一区二区三区波多野结衣| 亚洲大学生视频在线播放| 日本精品视频| 亚州AV秘 一区二区三区| 日韩大片免费观看视频播放| 天堂在线视频精品| AV无码国产在线看岛国岛| 五月激情综合网| 国产女人18水真多毛片18精品 | 亚洲最新在线| 91精品视频在线播放| 五月激情综合网| 在线观看欧美精品二区| 成人免费黄色小视频| 香蕉视频在线精品| 毛片大全免费观看| 欧美亚洲另类在线观看| 亚洲无码熟妇人妻AV在线| 国产免费黄|