




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程名称:管理信息系统分析与设计班级:09信管一班姓名:任志雄学号:20090702115目录概述项目背景--—--——-—--——-—-—--—----—----————-——---—-—-——---—--—-——--3编写目的—------—----------——-—--—--———--——----—--—-—-3开发环境--—-————----—-———--—--—--——----——--—----———--—--—-——-—4需求分析2.1信息要求—-—------—----—--—---—--—--—————--—-—----——--——42。2处理要求-—-—-—---——————-—--——---—--——--------—--———-—----—---42。3安全性与完整性要求-—-—-—--—--—-——-—---———--——----—--——---—6三、概要设计3.1系统功能图--———-—-—-----—--—----——-——-——-—------———---—7四、概念结果设计4。1基本E-R图设计——--——-——-—-————-——-----—7五、逻辑结构设计5.1E-R图的转换——---——------——----——--——--—-----—--—--—---——-—-9六、主要模块的设计以及代码——-—-——-—--—------116。1登录模块设计——--—---—---———-—---—---—-——--—---—---—----—-—-126.2管理员、教师、学生模块设计——----—--—-——--------———--—136。3存储过程—--—————-—---—---—-—-—--—-----——--—------——--—-—---—--—----28七、总结7.1遇到的问题以及解决方法---—-—--————-—————---297.2设计的体会——-----—-—-—-----——------—-—---——-—---—----------—-—---30概述1项目背景随着科学技术、管理方法的不断进步,传统的方式、方法和手段已经不能适应现代化管理的需要,作为培养高质量合格人才为宗旨的高等学校,总是走在科技的最前沿,教学管理的计算机化已成为高校管理现代化、决策科学化的一个重要环节,是开创教学管理工作新局面的必由之路。教学管理系统是一个辅助学校教务人员完成日常工作中,涉及学籍管理、教师管理、课程管理和成绩管理等项目的日常比较繁重的工作.它应用计算机在数据处理和数据整理保存方面的优异性能,帮助工作人员提高工作的效率、减少出错情况.同时还能提供快速的查询检索功能。2编写目的本系统的设计旨在实现管理员、教师以及学生对信息的查询、修改以及更新提供便利性。教学管理系统是一个辅助学校教务人员完成日常工作中,涉及教师管理、课程管理和成绩管理等项目的日常比较繁重的工作.它应用计算机在数据处理和数据整理保存方面的优异性能,帮助工作人员提高工作的效率、减少出错情况。3开发环境经过思考和选择,决定以.netC#来实现本系统.需求分析2.1信息要求本次系统设计主要需要的信息如下所示,这些信息都是以表的形式存在数据库中,当需要输入、删除、修改等信息时可以通过执行SQL语句来实现。1、学生信息:学号、姓名、性别、出生日期、入学成绩、所在系号。2、教职工信息:职工号、姓名、性别、出身年月、所在系号、职称、专业及教学方向。3、系的基本信息:系号、系名称、系的简介。4、课程信息:课程号、课程名称、任课教师号、学时、学分、上课时间、上课地点、考试时间.5、成绩信息:学号、课程号、平时成绩、考试成绩、总评成绩。2.2处理要求1、学生基本信息管理新生信息录入、学生信息修改:按学号查询出某学生的信息并做信息修改。学生转学(转入和转出),学生毕业等.毕业和转学的学生有关信息存储到历史库中。2、系基本信息管理:系的基本信息输入、修改、删除3、课程信息管理:课程信息的输入、修改、删除4、教职工信息管理:教职工信息的输入、修改、删除5、选课管理:每学期所选课程的学分不能超过15分、学生可以同时选修一门或多门课程、可以同时为多个学生选修某一门或某几门课程、删除和修改选课信息。6、成绩管理:按课程输入和修改成绩、按学生输入和修改成绩.7、信息查询:按学号、姓名、系号查询学生基本信息.按职工号、姓名、系号查询教职工基本信息。按系号、系名称查询系的基本信息。按课程号、课程名称、上课教师姓名查询课程基本信息。按学号、学生姓名、课程号、课程名称、上课教师姓名、系号查询学生成绩,内容包括课程基本情况。若查询涉及多门课程,则按课程分组。每门课程按总评成绩从高分到低分给出选修该门课程的所有学生的成绩(平时成绩、考试成绩和总评成绩).8、统计报表成绩登记表,内容包括课程基本信息(课程号、课程名称、任课教师号、学时、学分、上课时间、上课地点、考试时间)、选课学生名单(学号、姓名、性别),每个学生的平时成绩(空格)、考试成绩(空格)和总评成绩(空格),按学号排序:顺序输出所有课程的成绩登记表。按课程号、课程名称、教师姓名输出对应课程的成绩登记表.按系号输出对应课程的成绩登记表(本系所有教师担任的课程)。成绩报表,内容包括课程基本信息(课程号、课程名称、任课教师号、学时、学分、上课时间、上课地点、考试时间),选课学生名单(学号、姓名、性别),每个学生的平时成绩、考试成绩和总评成绩,〉=90分、>=80分、、>=70分、〉=60分及不及格学生的人数及比例,按学号排序:顺序输出所有课程的成绩报表。(报表格式自己订制,可以参考学校的系统的输出格式)按课程号、课程名称、教师姓名输出对应课程的成绩报表.按系号输出对应课程的成绩报表(本系所有教师担任的课程).2.3安全性与完整性要求在数据库中,各个表之间是有联系的,它们存在着参照完整性,在删除数据时,要考虑到一个表中的数据删除的同时也要删除另一个表中对应的数据项.概要设计3.1系统功能图结构兰州商学院教学管理系统的功能结构图如下:四、概念结果设计4。1基本E—R图设计E-R图设计:E—R图中实体有:教师、学生、系部、课程实体属性学生:学号、姓名、性别、出生日期、入学成绩、所在系号教师:职工号、姓名、性别、出身年月、所在系号、职称、专业及教学方向系:系号、系名称、系的简介课程:课程号、课程名称、任课教师号、学时、学分、上课时间、上课地点、考试时间其中各个之间的关系如下:学生可以选多个课程,一个课程可以被多个学生选修.学生存在一个系中,一个系可以存在多个学生.一个教师可以教多个课程,一个课程可以被多个教师教.一个教师只能在一个系中,一个系中可以有多个教师。学生:学生学生学号姓名性别出生日期所在系号入学成绩教师:教师教师职工号姓名性别出生日期职称所在系号专业及教学方向系:系系系号系名系简介课程:课程课程课程号课程名教师号学时上课时间学分上课地点考试时间全局E—R图:五、逻辑结构设计5.1E-R图的转换表一览:ﻩAccount(用户登录表)、Course(课程表)、Student(学生表)、Teacher(教师表)、Dept(系表)、Grades(成绩表)。表结构:1、Account(用户登录表)2、Course(课程表)3、Student(学生表)4、Teacher(教师表)5、Dept(系表)6、Grades(成绩表)六、主要模块的设计以及代码在本系统中,为方便对数据库的连接、SQL语句的执行以及数据库的关闭.本程序封装了一个SQLDatabase类,类中定义了一系列的函数来完成数据库的连接等操作。ﻩ代码及说明如下:classSQLDatabase{publicSqlConnectionSQLConnection;publicSqlCommandMyCommand;publicSqlDataAdaptersdr;staticpublicstringServerIP;publicvoidGetServerIP(stringIP)ServerIP=IP;publicvoidSQLDataConnectionOpen(){//本函数完成对数据库的连接SQLConnection=newSqlConnection();SQLConnection。ConnectionString="Server=”+ServerIP+”;Userid=sa;pwd=123456;DataBase=TeachingManagementSystem”;SQLConnection.Open();}publicvoidSQLDataConnectionClose()//实现数据库的关闭SQLConnection.Close();publicintSQLExecuteNonQuery(stringstr){//ExecuteNonQuery方法:执行不返回结果的命令MyCommand=newSqlCommand(str,SQLConnection);returnMyCommand。ExecuteNonQuery();}publicobjectSQLExecuteScalar(stringstr){//只返回结果集中第一行的第一列MyCommand=newSqlCommand(str,SQLConnection);returnMyCommand.ExecuteScalar();}publicSqlDataAdapterSQLDataAdapter(stringstrCmd){sdr=newSqlDataAdapter(strCmd,SQLConnection);returnsdr;}publicSqlDataReaderSQLExecuteReader(stringstrCmd){//执行返回数据集的Select语句,返回一个DataReader对象MyCommand=newSqlCommand(strCmd,SQLConnection);SqlDataReadersdr=MyCommand.ExecuteReader();returnsdr;}}6.1登录模块设计在本程序的登录模块中,当用户输入用户名、密码及其登录权限后,会对数据与数据库的数据进行对比,若相同则进入相应的权限界面,以进行相应的操作。登录界面如下图所示:ﻩ登录按钮的单击消息响应:当用户输入用户名、密码,单击登录按钮后,数据会与数据库的数据进行对比,若相同则通过,否则会提示用户相应的错误报告。代码如下:privatevoidbutton1_Click(objectsender,EventArgse){if(string.IsNullOrEmpty(textBox1.Text)){MessageBox。Show("用户名不能为空,请输入用户名!",”提示”);textBox1.Focus();return;}elseif((string.IsNullOrEmpty(textBox2.Text)){MessageBox.Show(”密码不能为空,请输入密码!","提示");textBox2。Focus();return;}}stringidentity=”0”;if(radioButton1。Checked)identity=”3”;elseif(radioButton2。Checked)ﻩidentity=”2";elseif(radioButton3。Checked)identity="1”;SQLDatabaseSQLConn=newSQLDatabase();SQLConn.GetServerIP(textBox1.Text);SQLConn.SQLDataConnectionOpen();stringstrCmd="select*fromAccountwhereAname=’"+textBox2.Text+"'andApassword='”+textBox3.Text+"'"+"andApermissions='”+identity+"'";SqlDataReadersdr=SQLConn.SQLExecuteReader(strCmd);intn=0;while(sdr。Read()){n=1;Form2form2=newForm2(identity,textBox1.Text);form2.Show();this.Hide();}if(n==0){MessageBox。Show("没有此用户!\n或者用户名或密码错误!\n请重新输入或者注册当前用户!",”提示");label6.Text=ProduceCheckCode();}sdr.Close();SQLConn。SQLDataConnectionClose();}6.2管理员、教师、学生模块设计本程序的操作端是通过TabControl控件实现的,各个tabPage页都放在了一个对话框上,对于不同的登录权限,会在对话框的初始化函数中通过调用tabControl1.TabPages.Remove();函数来实现某个tabPage页的隐藏,以体现不同的权限功能。ﻩ所以这里只需要对管理员端的各个操作进行说明即可,整个界面如下图所示:tabPage1:学生管理在学生管理页面中,管理员可以对学生信息进行查询、删除、修改、录入、及其转学/毕业操作等.另外,各个表之间是有联系的,当删除一个学生的信息后,如果此学生选了课,并且有了成绩,系统会同时把此学生的选课记录、成绩记录删除。当录入一个学生的信息时,系统提供了判断机制,系统会先检查数据库中是否已存在该学生的信息,若存在提示不能重复.其录入按钮的单击消息相应函数代码为:privatevoidbutton1_Click(objectsender,EventArgse){if(string。IsNullOrEmpty(textBox1.Text)){MessageBox。Show("学号不能为空,请输入学号!”,"提示”);textBox1.Focus();return;}elseif(string.IsNullOrEmpty(textBox2.Text)){MessageBox。Show("姓名不能为空,请输入姓名!”,"提示");textBox2.Focus();return;}stringsex=”";if(radioButton1。Checked)sex="男”;elseif(radioButton2。Checked)sex="女";SQLDatabaseSQLConn=newSQLDatabase();SQLConn.GetServerIP(SerIP);SQLConn.SQLDataConnectionOpen();stringstrCmd;stringstrCmd2;stringstrCmd3;strCmd="insertintoStudentvalues(’"+textBox1.Text+"','"+textBox2.Text+"’,’”+sex+"’,'"+textBox3.Text+"',’"+textBox4.Text+”',’"+textBox5.Text+”’);”;strCmd2=”select*fromStudentwhereSno=’”+textBox1。Text+"';";strCmd3="select*fromDeptwhereDno='”+textBox5.Text+"’;";objectob=SQLConn.SQLExecuteScalar(strCmd2);if(Convert.ToString(ob)!="”){MessageBox.Show("已存在学号为"+textBox1。Text+"的信息!\n请重新输入!”,"提示");textBox1.Text="";textBox2.Text="";textBox3.Text=”";textBox4.Text="”;textBox5。Text="";textBox1.Focus();SQLConn。SQLDataConnectionClose();return;}objectob1=SQLConn。SQLExecuteScalar(strCmd3);if(Convert。ToString(ob1)==""){if(textBox5。Text!=""){MessageBox.Show(”不存在系号为"+textBox5.Text+”的系信息!\n请重新输入!",”提示");textBox5.Text="";textBox5.Focus();}SQLConn。SQLDataConnectionClose();return;}SQLConn.SQLExecuteNonQuery(strCmd);MessageBox.Show(”录入成功!","提示");//控件清空!textBox1.Text=””;textBox2。Text="";textBox3.Text=”";textBox4.Text="”;textBox5.Text="";textBox1.Focus();SQLConn。SQLDataConnectionClose();button5_Click(sender,e);}tabPage2:系管理在系管理页面中,管理员可以对系的信息进行查询、删除、修改、输入。另外,各个表之间是有联系的,当删除一个系的信息后,在该系的所有学生记录会同时删除,与此相应的选课、成绩记录也会被删除。当录入一个系的信息时,系统提供了判断机制,系统会先检查数据库中是否已存在该系的信息,若存在提示不能重复。其输入按钮的单击消息相应函数代码为:ﻩprivatevoidbutton7_Click(objectsender,EventArgse){if(textBox7。Text==""){string.IsNullOrEmpty(textBox7.Text)MessageBox。Show(”系号不能为空,请输入系号!",”提示");textBox7。Focus();return;}elseif(string。IsNullOrEmpty(textBox8。Text)){MessageBox.Show("系名不能为空,请输入系名!",”提示");textBox8。Focus();return;}SQLDatabaseSQLConn=newSQLDatabase();SQLConn.GetServerIP(SerIP);SQLConn.SQLDataConnectionOpen();stringstrCmd;stringstrCmd2;strCmd=”insertintoDeptvalues('”+textBox7.Text+"','"+textBox8.Text+”','"+textBox9。Text+"');";strCmd2=”select*fromDeptwhereDno='"+textBox7.Text+"';";objectob=SQLConn.SQLExecuteScalar(strCmd2);if(Convert。ToString(ob)!=""){MessageBox.Show("已存在系号为”+textBox7.Text+"的信息!\n请重新输入!”,"提示");textBox7.Text="”;textBox8.Text=”";textBox9.Text=”";textBox7.Focus();SQLConn.SQLDataConnectionClose();return;}elseSQLConn.SQLExecuteScalar(strCmd);MessageBox.Show("输入成功!",”提示");//控件清空!textBox7.Text="”;textBox8。Text="”;textBox9.Text=”";textBox7.Focus();SQLConn.SQLDataConnectionClose();button10_Click(sender,e);}tabPage3:课程管理在课程管理页面中,管理员可以对课程信息进行查询、删除、修改、输入。另外,各个表之间是有联系的,当删除一个课程的信息后,选择此课程的选课记录,成绩记录也会被同时删除。当录入一个课程的信息时,系统提供了判断机制,系统会先检查数据库中是否已存在该课程的信息,若存在提示不能重复。其输入按钮的单击消息相应函数代码为:privatevoidbutton12_Click(objectsender,EventArgse){if(string.IsNullOrEmpty(textBox10。Text)){MessageBox.Show(”课程号不能为空,请输入课程号!","提示”);textBox10.Focus();return;}elseif(string.IsNullOrEmpty(textBox11。Text)){MessageBox。Show("课程名不能为空,请输入课程名!”,"提示”);textBox11.Focus();return;}elseif(string。IsNullOrEmpty(textBox12.Text)){MessageBox。Show("任课教师号不能为空,请输入课程名!","提示");textBox12。Focus();return;}SQLDatabaseSQLConn=newSQLDatabase();SQLConn。GetServerIP(SerIP);SQLConn。SQLDataConnectionOpen();stringstrCmd;stringstrCmd2;strCmd="insertintoCoursevalues('"+textBox10.Text+”','"+textBox11.Text+"’,'"+textBox12。Text+"','"+textBox13.Text+"','”+textBox14.Text+"','”+textBox15.Text+"','"+textBox16。Text+"','”+textBox17.Text+"')";strCmd2="select*fromCoursewhereCno='"+textBox10.Text+”’;";objectob=SQLConn。SQLExecuteScalar(strCmd2);if(Convert.ToString(ob)!=""){MessageBox。Show("已存在课程号为”+textBox10.Text+"的信息!\n请重新输入!",”提示");textBox10。Text="”;textBox11.Text=””;textBox12.Text=”";textBox13.Text="";textBox14.Text="”;textBox15.Text=”";textBox16.Text="";textBox17.Text=””;textBox10。Focus();SQLConn.SQLDataConnectionClose();return;}stringstrCmd3="select*fromTeacherwhereTno=’”+textBox12。Text+"';";objectob1=SQLConn.SQLExecuteScalar(strCmd3);if(Convert.ToString(ob1)==""){if(textBox12.Text!=""){MessageBox.Show(”不存在教师号为"+textBox12.Text+"的教师信息!\n请重新输入!","提示");textBox12.Text=””;textBox12.Focus();}SQLConn.SQLDataConnectionClose();return;}SQLConn。SQLExecuteNonQuery(strCmd);MessageBox。Show("课程信息输入成功!”,”提示");//控件清空!textBox10。Text="";textBox11。Text=””;textBox12.Text="";textBox13。Text="”;textBox14。Text="";textBox15.Text=”";textBox16.Text=”";textBox17.Text=”";textBox10.Focus();SQLConn.SQLDataConnectionClose();button14_Click(sender,e);}tabPage4:教师管理在教师管理页面中,管理员可以对教师信息进行查询、删除、修改、输入。当录入一个教师的信息时,系统提供了判断机制,系统会先检查数据库中是否已存在该教师的信息,若存在提示不能重复.其输入按钮的单击消息相应函数代码为:privatevoidbutton17_Click(objectsender,EventArgse){if(string.IsNullOrEmpty(textBo6.Text)){MessageBox。Show(”职工号不能为空,请输入!”,"提示");textBox6。Focus();return;}elseif(string.IsNullOrEmpty(textBox18.Text)){MessageBox.Show("姓名不能为空,请输入!”,"提示");textBox18.Focus();return;}elseif(string.IsNullOrEmpty(textBox20.Text)){MessageBox。Show(”所在系号不能为空,请输入!","提示");textBox20.Focus();return;}stringsex="";if(radioButton11.Checked)sex=”男";elsesex="女”;SQLDatabaseSQLConn=newSQLDatabase();SQLConn.GetServerIP(SerIP);SQLConn.SQLDataConnectionOpen();stringstrCmd;stringstrCmd2;strCmd="insertintoTeachervalues(’”+textBox6.Text+”','"+textBox18.Text+”','"+sex+”',’"+textBox19.Text+"’,'"+textBox20.Text+"','”+textBox21.Text+"',’"+textBox22.Text+”’,'”+textBox23.Text+"’)";strCmd2="select*fromTeacherwhereTno=’”+textBox6。Text+”';";objectob=SQLConn.SQLExecuteScalar(strCmd2);if(Convert.ToString(ob)!=””){MessageBox.Show(”已存在职工号为”+textBox6.Text+"的信息!\n请重新输入!",”提示");textBox6.Text=”";textBox19。Text=”";textBox20。Text="";textBox21.Text=”";textBox22.Text=”";textBox23。Text=”";textBox6。Focus();SQLConn。SQLDataConnectionClose();return;}stringstrCmd3="select*fromDeptwhereDno='”+textBox20.Text+”’;";objectob1=SQLConn.SQLExecuteScalar(strCmd3);if(Convert。ToString(ob1)==””){if(textBox20.Text!=”"){MessageBox。Show("不存在系号为”+textBox20.Text+"的系信息!\n请重新输入!","提示");textBox20.Text=”";textBox20.Focus();}SQLConn。SQLDataConnectionClose();return;}SQLConn。SQLExecuteNonQuery(strCmd);MessageBox.Show("职工信息输入成功!”,”提示”);//控件清空!textBox6.Text=””;textBox18.Text=”";textBox19.Text="";textBox20.Text="”;textBox21。Text="";textBox22。Text="";textBox23.Text=”";textBox6。Focus();SQLConn.SQLDataConnectionClose();button19_Click(sender,e);}tabPage5:选课管理在选课管理页面中,管理员可以对选课信息进行查询、删除、修改、输入.当录入一个选课的信息时,系统提供了判断机制,系统会先检查数据库中是否已存在该选课的信息,若存在提示不能重复。其提交按钮的单击消息相应函数代码为:privatevoidbutton22_Click(objectsender,EventArgse){if(string.IsNullOrEmpty(textBox24。Text)){MessageBox。Show("学号不能为空,请输入!","提示");textBox24.Focus();return;}elseif(string.IsNullOrEmpty(textBox25。Text)){MessageBox.Show("课程号不能为空,请输入!","提示”);textBox25。Focus();return;}if(textBox24.Text.Contains(",")==true||textBox24.Text.Contains(",")==true){CourseManyStudent(sender,e);return;}if(textBox25.Text.Contains(”,")==true||textBox25.Text。Contains(",")==true){StudentManyCourse(sender,e);return;}SQLDatabaseSQLConn=newSQLDatabase();SQLConn.GetServerIP(SerIP);SQLConn.SQLDataConnectionOpen();stringstrCmd1,strCmd2,strCmd3,strCmd4,strCmd5;stringcredits="";strCmd1=”select*fromStudentwhereSno='”+textBox24.Text+"’;";strCmd2="select*fromCoursewhereCno='"+textBox25.Text+"';";strCmd3="selectSno,CnofromCourseSelectionTablewhereSno='"+textBox24.Text+”'andCno=’"+textBox25.Text+"';";strCmd4=”selectCcreditsfromCoursewhereCno='"+textBox25。Text+”’;";objectob1,ob2,ob3,ob4;ob1=SQLConn。SQLExecuteScalar(strCmd1);if(Convert.ToString(ob1)==""){if(textBox24.Text!=""){MessageBox.Show("不存在学号为”+textBox24。Text+"的学生信息!\n请重新输入!”,"提示");textBox24.Text="";textBox24.Focus();}SQLConn。SQLDataConnectionClose();return;}ob2=SQLConn.SQLExecuteScalar(strCmd2);if(Convert.ToString(ob2)==”"){if(textBox25。Text!=""){MessageBox.Show(”不存在课程号为”+textBox25.Text+"的课程信息!\n请重新输入!",”提示");textBox25。Text="";textBox25.Focus();}SQLConn.SQLDataConnectionClose();return;}ob4=SQLConn。SQLExecuteScalar(strCmd4);credits=ob4.ToString();strCmd5="insertintoCourseSelectionTablevalues('"+textBox24.Text+”’,'"+textBox25.Text+"’,'”+credits+"’);”;ob3=SQLConn.SQLExecuteScalar(strCmd3);if(Convert。ToString(ob3)!=""){MessageBox.Show("已存在学号为"+textBox24。Text+"课程号为”+textBox25.Text+”的信息!\n请重新输入!","提示");textBox24.Text="”;textBox25.Text="";textBox24.Focus();SQLConn.SQLDataConnectionClose();return;}doublesum=TotalCredit(textBox24.Text);if((Convert。ToDouble(credits)+sum)>=15){MessageBox.Show("选择此课程后,总学分将超过15,不能再选课!",”提示");SQLConn.SQLDataConnectionClose();button25_Click(sender,e);return;}elseSQLConn.SQLExecuteNonQuery(strCmd5);intZongSum=(int)(Convert.ToDouble(credits)+sum);stringCcreditsSum=”选课信息提交成功!\n学号为"+textBox24.Text+"\n的学生选课的总学分为:"+ZongSum.ToString();MessageBox。Show(CcreditsSum,"提示");SQLConn.SQLDataConnectionClose();button25_Click(sender,e);}tabPage6:成绩管理在成绩管理页面中,管理员可以对成绩信息进行查询、删除、修改、输入。当录入一个成绩的信息时,系统提供了判断机制,系统会先检查数据库中是否已存在该选课的信息,若存在提示不能输入。另外当输入一个学生的成绩时,系统会从选课表中查找是否该学生选了此课程若没有选,则提示用户不能输入该学生的成绩信息。其提交按钮的单击消息相应函数代码为:privatevoidbutton27_Click(objectsender,EventArgse){if(textBox27。Text==""){MessageBox.Show(”学号不能为空,请输入!”,”提示");textBox27。Focus();return;}elseif(textBox28。Text==”"){MessageBox.Show(”课程号不能为空,请输入!",”提示");textBox28.Focus();return;}if(textBox29。Text==”")textBox29.Text="0”;if(textBox30。Text=="”)textBox30.Text=”0”;SQLDatabaseSQLConn=newSQLDatabase();SQLConn.GetServerIP(SerIP);SQLConn.SQLDataConnectionOpen();stringstrCmd1,strCmd2,strCmd3,strCmd4;doubletotalresults;totalresults=Convert.ToDouble(textBox29。Text)*0。3+Convert.ToDouble(textBox30.Text)*0.7;textBox31。Text=totalresults。ToString();strCmd1="select*fromStudentwhereSno='"+textBox27.Text+”';";strCmd2=”select*fromCoursewhereCno=’”+textBox28。Text+"';";strCmd3="selectGsno,GcnofromGradeswhereGsno='”+textBox27。Text+"’andGcno=’"+textBox28.Text+"’;";strCmd4="insertintoGradesvalues(’”+textBox27.Text+”','”+textBox28.Text+"’,’"+textBox29.Text+”’,'”+textBox30.Text+”’,'"+totalresults。ToString()+”’);";objectob1,ob2,ob3;ob1=SQLConn.SQLExecuteScalar(strCmd1);if(Convert.ToString(ob1)==”"){if(textBox27.Text!=""){MessageBox。Show("不存在学号为”+textBox27。Text+"的学生信息!\n请重新输入!",”提示”);textBox27。Text=””;textBox27。Focus();}SQLConn.SQLDataConnectionClose();return;}ob2=SQLConn.SQLExecuteScalar(strCmd2);if(Convert。ToString(ob2)=="”){if(textBox28.Text!=""){MessageBox.Show("不存在课程号为"+textBox28.Text+"的课程信息!\n请重新输入!","提示");textBox28.Text="”;textBox28.Focus();}SQLConn.SQLDataConnectionClose();return;}stringstrCmd5;strCmd5=”select*fromCourseSelectionTablewhereSno='"+textBox27。Text+”'andCno=’"+textBox28。Text+"’;";objectob4;ob4=SQLConn.SQLExecuteScalar(strCmd5);if(Convert.ToString(ob4)==”"){if(textBox27.Text!=""&&textBox28.Text!=””){MessageBox。Show("该学生没有选课程号为”+textBox28。Text+”的课程!不能输入成绩!",”提示");textBox27.Text=””;textBox28.Text="";textBox29.Text=”";textBox30.Text="”;textBox31。Text="";textBox27.Focus();}SQLConn.SQLDataConnectionClose();return;}ob3=SQLConn.SQLExecuteScalar(strCmd3);if(Convert.ToString(ob3)!=""){MessageBox。Show("已存在学号为”+textBox27。Text+”课程号为"+textBox28.Text+"的成绩信息!\n请重新输入!”,”提示”);textBox27.Text=”";textBox28.Text="";textBox29。Text="";textBox30.Text="”;textBox31。Text=””;textBox27.Focus();SQLConn.SQLDataConnectionClose();return;}SQLConn.SQLExecuteNonQuery(strCmd4);MessageBox。Show(”成绩信息输入成功!",”提示”);SQLConn.SQLDataConnectionClose();ShowListView();button29_Click(sender,e);button33_Click(sender,e);}tabPage7:报表在报表页面中,管理员可以通过报表的显示来查看学生的成绩登记表、成绩报
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CI 509-2024房地产开发工程质量控制规范
- 专业c语言期末考试题及答案
- 上海保安考试题目及答案
- 电动汽车车辆维修合同3篇
- 突发公共卫生事件应对与管理
- 南通市崇川区2023-2024四年级数学下册期末试卷及答案
- 呼吸管理运营体系构建
- 幼儿园卫生保健家长座谈会
- 建筑工程施工总承包合同范文4篇
- T/ZJFIA 011-2023常山双柚汁复合果汁饮料
- 医保按病种分值付费(DIP)院内培训
- 施工钢结构制作安装环境因素识别表
- 污水井巡查记录表
- 2关于更换现场项目经理的函
- 部编版小学道德与法治四年级下册期末复习简答及分析题专练(含答案)
- 电子商务那些事学习通超星课后章节答案期末考试题库2023年
- 环境及理化因素损伤-冻伤
- Unit7SeasonPartALetslearn(教学设计)闽教版英语四年级下册
- 世界文化遗产武当山古建筑群的资料
- 医院医疗设备采购项目HIS系统及硬件采购投标文件
- 【橡胶工艺】-橡胶产品生产工艺规程
评论
0/150
提交评论