《Visual C# NET程序设计基础》课件011_第1页
《Visual C# NET程序设计基础》课件011_第2页
《Visual C# NET程序设计基础》课件011_第3页
《Visual C# NET程序设计基础》课件011_第4页
《Visual C# NET程序设计基础》课件011_第5页
已阅读5页,还剩155页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第11章综合案例:学生信息管理系统11.1需求概述11.2系统总体设计11.3系统的实现

学习目标●了解学生信息管理系统的需求●掌握学生信息管理系统的设计方法●实现学生信息管理系统本章将以大家熟悉的学生信息管理系统为案例背景,采用软件工程化的思想和流行的三层开发模式,将本书所学到的知识融入到本案例中,达到学完本书内容就可以做项目的目的。11.1需求概述随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,就需要建立学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。根据和软件用户的沟通,确定学生信息管理系统主要的功能需求如下:

(1)有关学籍等信息的输入,包括学生基本信息、所在班级、所学课程和成绩等。(2)学生信息的查询,包括学生基本信息、所在班级、已学课程、所有成绩和奖罚信息等。

(3)学生信息(包括奖罚信息)修改。

(4)班级管理信息的输入,包括班级设置、年级信息和班级辅导员等。

(5)班级管理信息的查询。

(6)班级管理信息的修改。

(7)学校基本课程信息的输入。

(8)基本课程信息的修改。

(9)学生课程的设置和修改。

(10)学生成绩信息的输入。(11)学生成绩信息的修改。

(12)学生成绩信息的查询。

(13)学生成绩的报表打印。

(14)用户登录信息的添加、修改和删除等。

(15)用户登录的密码修改。

(16)数据库文件的备份。11.2系统总体设计了解了项目的需求后,下面将根据需求对该项目进行功能模块设计和数据模块的设计。本项目采用了三层设计模式,分别为界面表现层、数据访问层、数据层,如图11-1所示。11.2.1功能模块设计系统开发的总体任务是实现信息关系的系统化、规范化和自动化。系统的结构关系如图11-2所示。系统的结构关系图是系统的总体功能分析,是在系统开发的总体任务的基础上完成的。图11-1三层开发模式图11-2系统结构关系图

以下是上述各模块结构的描述。

1.系统用户管理模块用户管理模块主要实现以下功能:●用户名修改;●添加用户;●修改用户密码;●数据库文件备份。

2.学籍管理模块学籍信息管理模块主要实现以下功能:●注册学生学籍信息;●修改学生学籍信息;●查询学生学籍信息。3.课程班级信息管理模块

班级信息主要实现以下功能:●添加班级及辅导员信息;●修改班级及辅导员信息;●查询班级及辅导员信息。课程信息主要实现以下功能:●添加班级课程信息;●查询班级课程信息。

4.成绩管理模块成绩管理模块主要实现以下功能:●添加学生成绩;●修改学生成绩;●查询个人成绩;●查询班级成绩;●打印班级成绩。

5.学生奖罚信息管理模块奖罚信息模块主要实现以下功能:●添加学生奖罚信息;●修改学生奖罚信息;●查询学生奖罚信息。

11.2.2数据模块设计

1.数据处理流程

系统的总体处理数据流程如图11-3所示。图11-3处理流程图2.数据结构设计

根据上述数据处理流程,在本项目中的数据库采用了Microsoft推出的Access数据库,这是微软集成到Office中的一个桌面数据库,能够快速方便地和Office的其他套件综合使用。由于Access具有显著的简易性和有效性,大量的桌面数据库系统都采用Access作为后台数据库。使用Access的好处还在于,如果你的系统扩展到Client/Server模式,就可以使用Microsoft的数据库服务器软件SQLServer,此时,程序只需要简单地修改一下链接(ADO的数据源)就可以了,这将为程序的平滑扩展提供非常便利的条件。1)本系统中所涉及到的主要实体

(1)登录信息表:{用户名,密码}。

(2)学生信息表:{学号,姓名,性别,出生年月,民族,籍贯,家庭住址,电话,入学年份,班名,专业名,政治面貌,职务,宿舍住址,班内序号},如图11-4所示。

(3)课程表:{班级,课程},如图11-5所示。

(4)学生成绩表:{班级,学号,姓名,性别,课程名称,成绩,备注},如图11-4所示。

(5)班级辅导员信息表:{班级名称,辅导员,电话},如图11-5所示。

(6)学生奖罚信息表:{学号,姓名,班级,奖罚,日期,备注},如图11-6所示。图11-4学生信息表和学生成绩表图11-5班级辅导员信息表和课程表图11-6学生奖罚信息表和登录信息表2)本系统所涉及到的主要结构设计

(1)逻辑结构设计。在数据库的逻辑结构中分别定义了每个表中所需的字段信息,这是数据库设计中关键的一步。

(2)物理结构设计。系统的物理结构具体由数据库来设计与生成,此处略。

(3)数据结构与程序的关系。系统的数据结构由标准数据库语言SQL生成。

(4)实体联系图设计如图11-7所示。图11-7实体联系图11.3系 统 的 实 现本部分根据功能模块和数据模块的设计,在VisualStudio.NET2005中实现该系统。主要介绍了该系统各模块的界面以及相应功能实现的源代码与分析。图11-8项目源文件结构在各模块进行介绍之前,关于本项目的一些配置说明如下:

(1)为了方便使用该系统,本项目采用了小型桌面数据库Access。在为读者提供的源代码文件中。本项目的数据库文件放在项目的Bin文件夹下面的Debug目录下,文件名为MyDb.MDB。

(2)本项目的源代码文件结构如图11-8所示。图11-8项目源文件结构

文件说明如下:①其中Program.cs类文件为主类文件,包含了程序启动的主方法Main()。②本项目采用了三层开发模式,即数据层、数据访问层和界面层。其中:数据层就是数据库文件,里面保存了本项目所有的数据。数据访问层是介于界面层和数据层之间的桥梁,其中保含了连接数据库和插入、更新、删除、检索数据的接口。图11-8中的MyData.cs就是数据访问层。界面层主要是用来为用户提供输入和显示数据的接口,它主要通过调用数据访问层提供的接口来操作数据库。图11-8中带窗体小图标的文件都是界面层。③数据访问层Mydata.cs类的源代码如下:

usingSystem;usingSystem.Data;usingSystem.Data.OleDb;usingSystem.Windows.Forms;namespace学生信息管理系统

{publicclassMyData{//定义连接字符串

privatestringstrDSN;//定义数据库连接对象

privateOleDbConnectionmyConn;//构造函数实现打开数据库连接publicMyData(){strDSN="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=mydb.mdb";myConn=newOleDbConnection(strDSN);myConn.Open();}//利用DataReader对象检索数据

publicOleDbDataReadergetDataReader(StringstrSQL){try{OleDbCommandmyCmd=newOleDbCommand(strSQL,myConn);OleDbDataReaderdatareader=myCmd.ExecuteReader();returndatareader;}catch(Exceptione){MessageBox.Show(e.Message,"数据库操作失败",MessageBoxButtons.OK, MessageBoxIcon.Information);returnnull;}}//更新数据库

publicBooleanupdateSql(StringstrSQL){OleDbCommandmyCmd=newOleDbCommand(strSQL,myConn);try{myCmd.ExecuteNonQuery();returntrue;}catch(Exceptione){MessageBox.Show(e.Message,"提示",MessageBoxButtons.OK, MessageBoxIcon.Information);returnfalse;}}//创建数据集publicDataSetgetDataSet(stringstr){OleDbDataAdapterda=newOleDbDataAdapter(str,myConn);DataSetds=newDataSet();da.Fill(ds,"");returnds;}//关闭数据库连接

publicvoidcloseConnection(){ try {myConn.Close(); }catch(Exceptionsqle) {Console.WriteLine("数据库关闭失败"); }}}}

这个类是一个公共模块,为其他模块提供数据库访问的服务。④本项目的界面有别于传统界面,这是由于在本项目的界面设计中使用了皮肤组件。该皮肤组件为SuniSoft.IrisSkin.,读者可以从网上下载该组件,然后添加到工具箱中。从工具箱中拖到界面上后,设置皮肤,不用写一句代码,所有属于该项目的界面都会重新穿上新“衣裳”。11.3.1系统登录模块系统登录模块的主要功能是为了提高系统的安全性管理,需要用户提供正确的用户名和帐号才能登录本系统进行使用。本系统的用户名和密码保存在数据库的“登录信息表”中。在本书提供的项目源代码中,可以找到该数据库。默认的用户名和密码分别是“admin”和“555”,通过正确的用户名和密码就可以登录到系统,如图11-9所示。图11-9登录界面Login.cs源代码如下:

publicpartialclassLogin:Form//登录窗体

{publicLogin(){InitializeComponent();//初始化

}privatevoidbtnCancel_Click(objectsender,EventArgse) //取消按钮

{Application.Exit();//退出程序

}privatevoidbtnLogin_Click(objectsender,EventArgse){FrmMainFm=(FrmMain)this.Owner;MyDatamydata=newMyData();//为自定义的数据库表读写类

Stringstr=“select*from登录信息表where用户名

='"+this.txtUsername.Text+"'and密码='"+this.txtPassword.Text+"'";//SQL语名:查询登录信息表中的符合规定的数据

OleDbDataReaderobjDbr=mydata.getDataReader(str);//mydata的一个方法,返回OleDbDataReader对象,用来读写数据库

if(objDbr.HasRows) //判断符合规定的记录是否存在

{while(objDbr.Read()) //利用循环逐行读取数据

{stringstrusername=objDbr["用户名"].ToString().Trim();//取出当前所指记录的用户名stringusername=this.txtUsername.Text;//用户名文本框的数据

if(username==strusername)//文本框数据与登录信息表的用户名进行比较

{stringstuPSW=objDbr["密码"].ToString().Trim();//取出表中密码

stringpsw=this.txtPassword.Text;//密码文本框数据

if(stuPSW==psw)//同理:当比较结果为真时,就打开主界面

{Fm.UserName=strusername;Fm.PassWord=stuPSW;Fm.Show();this.Close();}}}}else{//进行提示,并把文本框清空,重新输入

MessageBox.Show("密码或用户名错误","警告",MessageBoxButtons.OK, MessageBoxIcon.Error);txtUsername.Text="";txtPassword.Text="";txtUsername.Focus();}mydata.closeConnection(); //关闭数据库连接

}}11.3.2系统主模块系统主模块是本系统的应用界面,在本界面上集成了本系统的所有功能,共有八个功能菜单和14个子菜单(功能模块),从而实现了本系统从用户管理、缴费管理、课程管理、成绩管理等系统的具体功能,同时,在系统管理模块中可以完成对本系统的安全性管理,如图11-10所示。图11-10系统主界面FrmMain.cs源代码如下:

publicpartialclassFrmMain:Form//此为主界面的源代码

{publicstringUserName;publicstringPassWord;publicFrmMain(){InitializeComponent();}privatevoidFrmMain_Load(objectsender,EventArgse){Loginlog=newLogin();log.Owner=this;this.Visible=false;log.Show();}privatevoidmniRegisterQuery_Click(objectsender,EventArgse){FrmRegisterobjFR=newFrmRegister();//此为调用新生注册窗体

objFR.MdiParent=this;objFR.Show();}privatevoidMenuItem10_Click(objectsender,EventArgse){FrmCourseobjFC=newFrmCourse(); //此为调用课程设置窗体

objFC.MdiParent=this;objFC.btnCanceladd.Visible=false;objFC.Show();}privatevoidMenuItem11_Click(objectsender,EventArgse){FrmClassobjFCL=newFrmClass(); //此为调用班级设置窗体

objFCL.MdiParent=this;objFCL.Show();}privatevoidMenuItem7_Click(objectsender,EventArgse){FrmPersonobjFP=newFrmPerson(); //此为调用学生信息窗体

objFP.MdiParent=this;objFP.Show();}privatevoidmniExit_Click(objectsender,EventArgse){Application.Exit(); //结束程序运行

}privatevoidmniLogin_Click(objectsender,EventArgse){FrmAlterPasswordobjFAP=newFrmAlterPassword(UserName,PassWord);//调用修改用户窗体

objFAP.MdiParent=this;objFAP.Show();}privatevoidMenuItem2_Click(objectsender,EventArgse){FrmAddUserobjFAD=newFrmAddUser();//调用添加用户窗体

objFAD.MdiParent=this;objFAD.Show();}privatevoidMenuItem3_Click(objectsender,EventArgse){FrmDelUserobjFDU=newFrmDelUser();//调用删除用户窗体

objFDU.MdiParent=this;objFDU.Show();}privatevoidMenuItem14_Click(objectsender,EventArgse)//数据库的备份

{FileInfofile=newFileInfo(Application.StartupPath+@"\mydb.mdb");//设置要备份的数据库所在路径

SaveFileDialog1.DefaultExt="mdb";//设置相关数据库信息

SaveFileDialog1.FileName="mydb";SaveFileDialog1.Title="数据库文件备份...";SaveFileDialog1.Filter="Accessfiles(*.mdb)|*.mdb";SaveFileDialog1.InitialDirectory=@"c:\";SaveFileDialog1.OverwritePrompt=true;if(SaveFileDialog1.ShowDialog()==DialogResult.OK) //选择要保存新数据库的路径{file.CopyTo(SaveFileDialog1.FileName,true); //此方法对数据库进行备份

MessageBox.Show("数据库备份成功","提",MessageBoxButtons.OK, MessageBoxIcon.Information);}else{MessageBox.Show("找不到数据库文件,任务无法完成","警告",MessageBoxButtons.OK,MessageBoxIcon.Error);}}privatevoidMenuItem6_Click(objectsender,EventArgse){frmPrizeobjPrize=newfrmPrize();//此为调用学生奖罚信息窗体

objPrize.MdiParent=this;objPrize.Show();}privatevoidMenuItem8_Click(objectsender,EventArgse){QueryResultobjQR=newQueryResult(); //此为调用班级信息窗体

objQR.MdiParent=this;objQR.Show();}privatevoidMenuItem9_Click(objectsender,EventArgse){newInputBox().Show();}privatevoidMenuItem12_Click(objectsender,EventArgse){ResultobjResult=newResult();//此为调用成绩录入窗体

objResult.MdiParent=this;objResult.Show();}}11.3.3用户管理模块用户管理模块是本系统的安全性设置模块,对用户进行管理。此模块主要有添加、删除、修改功能,同时还兼有数据库备份功能,如图11-11、11-12所示。图11-11添加用户

图11-12删除用户

下面的三个事件处理过程分别是添加用户、修改用户密码和删除用户的实现源代码:

privatevoidbtnSubmit_Click(objectsender,EventArgse)//此为添加用户的源代码

{try{stringstr="select用户名from登录信息表where用户名='"+txtUsername.Text+"'";//SQL语句主要用来查找登录信息表是否存在有此用户

OleDbDataReaderobjDbr=mydata.getDataReader(str);if(objDbr.HasRows==true)落成//存在则弹出警告,取消注册

{MessageBox.Show("用户名已经存在");this.txtUsername.Text="";this.txtPasswordone.Text="";this.txtPasswordtwo.Text="";txtUsername.Focus();}objDbr.Close();}catch(Exceptionex){MessageBox.Show(ex.Message,"警告",MessageBoxButtons.OK,

MessageBoxIcon.Error);

}if(this.txtPasswordone.Text.Trim()= ="")return;if(this.txtPasswordone.Text!=this.txtPasswordtwo.Text){MessageBox.Show("两次密码输入不一致");this.txtUsername.Text="";this.txtPasswordone.Text="";this.txtPasswordtwo.Text="";txtPasswordone.Focus();}stringstrinsert="insertinto登录信息表(用户名,密码)values('"+this.txtUsername.Text+"','"+this.txtPasswordone.Text+"')"; //此语句主要用于添加用户if(mydata.updateSql(strinsert)){MessageBox.Show("注册成功");this.Close();}}privatevoidbtnSubmit_Click(objectsender,EventArgse) //此方法主要用于修改用户密码

{if(PassWord==txtPassword.Text){stringstr="update登录信息表set密码='"+txtNewPassword.Text+"'where用户名='"+txtname.Text+"'";//更新密码的SQL语句

if(mydata.updateSql(str)){MessageBox.Show("密码修改成功!(如需再修改请重新登录)",“提示",MessageBoxButtons.OK,MessageBoxIcon.Information);this.Close();}}else{MessageBox.Show("原密码输入错误,请重新输入!","提示",MessageBoxButtons.OK, MessageBoxIcon.Information);txtPassword.Text="";txtNewPassword.Text="";txtPassword.Focus();}}privatevoidbtnDel_Click(objectsender,EventArgse) //删除用户的源码

{stringstr=“select*from登录信息表where用户名

='"+cmbAlluser.Text+"'";

stringpassword="";OleDbDataReaderobjDbr=mydata.getDataReader(str);while(objDbr.Read()){password=objDbr["密码"].ToString().Trim();}if(password==txtPassword.Text){stringstrdelete="deletefrom登录信息表where用户名='"+cmbAlluser.Text+"'";//SQL的删除语句if(mydata.updateSql(strdelete)){MessageBox.Show("用户删除成功","提示",MessageBoxButtons.OK,

MessageBoxIcon.Information);txtPassword.Text="";FrmDelUser_Load(sender,e);}}else{MessageBox.Show(“密码错误,不允许删除”,“警告",MessageBoxButtons.OK,

MessageBoxIcon.Error);txtPassword.Text="";FrmDelUser_Load(sender,e);}}11.3.4学籍信息管理模块学籍信息管理模块主要由学籍查询、学籍修改、学生个人信息等窗体组成,达到学生信息管理的一体化,如图11-13、11-14所示。图11-13新生注册图11-14学生个人信息查询

下面的两个事件处理过程和三个方法实现了新生注册、查询学生基本信息、查询学生成绩信息和查询学生奖罚信息的实现源代码。

privatevoidbtnConfirm_Click(objectsender,EventArgse)//此方法为注册新生信息

{if(MyDUpDown.Text==""){MessageBox.Show("请选择入学年份!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);MyDUpDown.Focus();return;}…………//此处代码省略,主要用于判断文本框是否为空stringbirth=ComboBox1.Text+"-"+ComboBox2.Text;MyDatamydata=newMyData();Stringstrsql=“insertinto学生信息表(学号,姓名,性别,出生年月,民族,籍贯,家庭住址,电话,入学年份,班名,专业名,政治面貌,职务,宿舍住址,班内序号)values('"+txtID.Text+"','"+txtName.Text+"','"+cmbSex.Text+"','"+birth+"','"+txtNation.Text+"','"+txtzg.Text+"','"+txtFamilyAddr.Text+"','"+txtPhone.Text+"',"+MyDUpDown.Text+",'"+cmbClass.Text+"','"+cmbProfession.Text+"','"+cmbVisage.Text+"','"+txtDuty.Text+"','"+txtbedroomaddr.Text+"',"+txtClassnumber.Text+")";//此SQL语句主要用于在学生信息表中插入一条新的学生信息记录if(mydata.updateSql(strsql))//保存数据,保存成功返回一个true{ MessageBox.Show(“记录插入成功”,“提示",MessageBoxButtons.OK,MessageBoxIcon.Information);}txtID.Text=""; //对输入文本框进行清空

txtName.Text="";txtNation.Text="";txtDuty.Text="";txtzg.Text="";txtPhone.Text="";txtClassnumber.Text="";txtFamilyAddr.Text="";txtbedroomaddr.Text="";}//下边的方法为学生个人信息的查询publicvoidbaseInfo_load() //学生基本信息

{stringstr=“select学号,入学年份,姓名,性别,出生年月,电话,民族,政治面貌,职务,班名,专业名,家庭住址,宿舍住址from学生信息表where

学号='"+txtIdsearch.Text+"'";OleDbDataReaderobjDbr=mydata.getDataReader(str);while(objDbr.Read()){txtyear.Text=objDbr["入学年份"].ToString().Trim();txtname.Text=objDbr["姓名"].ToString().Trim();txtsex.Text=objDbr["性别"].ToString().Trim();txtbrith.Text=objDbr["出生年月"].ToString().Trim();txtPhone.Text=objDbr["电话"].ToString().Trim();txtNation.Text=objDbr["民族"].ToString().Trim();txtVisage.Text=objDbr["政治面貌"].ToString().Trim();txtDuty.Text=objDbr["职务"].ToString().Trim();txtclass.Text=objDbr["班名"].ToString().Trim();txtProfession.Text=objDbr["专业名"].ToString().Trim();txtFamilyaddr.Text=objDbr["家庭住址"].ToString().Trim();

txtBedroomaddr.Text=objDbr["宿舍住址"].ToString().Trim();}}

publicvoiddgResult_load() //学生成绩

{dgResult.TableStyles.Clear();stringstr="select*from学生成绩表where学='"+txtIdsearch.Text+"'";

DataSetDs=mydata.getDataSet(str);dgResult.DataSource=Ds.Tables[0];}

publicvoiddgPrize_load() //学生奖罚信息

{dgPrize.TableStyles.Clear();stringstr=“select*from学生奖罚信息表where学号='"+txtIdsearch.Text+"'";DataSetDs=mydata.getDataSet(str);

dgPrize.DataSource=Ds.Tables[0];}privatevoidtxtpersonalsubmit_Click(objectsender,EventArgse){txtPhone.Text="";txtname.Text="";txtsex.Text="";txtbrith.Text="";txtyear.Text="";txtNation.Text="";txtVisage.Text="";txtDuty.Text="";txtclass.Text="";txtProfession.Text="";txtFamilyaddr.Text="";txtBedroomaddr.Text="";dgResult_load();//调用显示学生成绩方法

dgPrize_load();//调用显示学生奖罚方法

baseInfo_load();//调用显示学生基本信息方法

}11.3.5课程班级管理模块课程班级管理模块主要包括课程设置,班级设置,班主任管理。因为本系统中有些功能模块具有相似之处,所以在这里只为此模块进行一个简单的说明,如图11-15、11-16所示。图11-15课程设置图11-16班级辅导员设置privatevoidbtnSearchcourse_Click(objectsender,EventArgse)//此方法用于显示课程表中的所有课程

{stringstr="select课程from课程表where班级='"+cmbClass.Text+"'";OleDbDataReaderobjDbr=mydata.getDataReader(str);lstbAllCourse.Items.Clear();while(objDbr.Read()){lstbAllCourse.Items.Add(objDbr["课程"].ToString().Trim());//提取数据表的中课程信息写入到组合框中privatevoidbtnModify_Click(objectsender,EventArgse) //添加辅导员

{stringstr="update班级辅导员信息表set班级名称='"+cmbName.Text+"',辅导员='"+txtCharge.Text+"',电话='"+txtPhone.Text+"'where班级名称='"+cmbName.Text+"'";

if(mydata.updateSql(str)){MessageBox.Show("记录修改成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);add();}}privatevoidbtnDelete_Click(objectsender,EventArgse)//删除班级辅导员信息表的所指记录

{if(MessageBox.Show("确定删除吗?","提示",MessageBoxButtons.OKCancel, MessageBoxIcon.Information)==DialogResult.OK){stringstr="deletefrom班级辅导员信息表where班级名称='"+cmbName.Text+"'";if(mydata.updateSql(str)){MessageBox.Show("记录删除成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);add();}}}11.3.6成绩信息管理模块学生成绩管理模块主要是对学生成绩进行管理。在使用学生成绩管理模块前请先进入学生信息管理模块录入相关信息,如图11-17所示。图11-17成绩录入privatevoidbtnConfirm_Click(objectsender,EventArgse)//此模块用于学生成绩添加记录

{if(cmbCourse.Text= =""){MessageBox.Show("请先选择课程!","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);cmbCourse.Focus();return;}if(txtID.Text= =""){MessageBox.Show("请输入学号!","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);txtID.Focus();return;}if(txtName.Text= =""){MessageBox.Show("请输入姓名!","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);txtName.Focus();return;}if(cmbSex.Text= =""){MessageBox.Show("请选择性别!!","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);cmbSex.Focus();return;}if(txtResult.Text= =""){MessageBox.Show("请输入分数!","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);txtResult.Focus();return;}MyDatamydata=newMyData();Stringstrsql="insertinto学生成绩表(班级,学号,姓名,性别,课程名称,成绩,备注)values('"+cmbClassname.Text+"','"+txtID.Text+"','"+txtName.Text+"','"+cmbSex.Text+"','"+cmbCourse.Text+"','"+txtResult.Text+"','"+txtRemarks.Text+"'"+")";if(mydata.updateSql(strsql))//保存学生成绩记录

{MessageBox.Show("记录插入成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);}cmbClassname.Text="";txtID.Text="";txtName.Text="";cmbSex.SelectedItem=0;cmbCourse.Text="";txtResult.Text=""

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论