新生报到系统详细设计说明书_第1页
新生报到系统详细设计说明书_第2页
新生报到系统详细设计说明书_第3页
新生报到系统详细设计说明书_第4页
新生报到系统详细设计说明书_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

新生报到系统详细设计说明书

(小组成员:XX)

1引言

1.1编写目的

在新生报道系统概要设计说明书中,已经解决了实现系统需求的程序模块设计问题。包括如何把

该系统化分为若干个模块、决定各个模块之间的接口、模块自己传递的信息,以及数据结构、模块

结构的设计等,以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。

在本阶段中,确定该如何具体的实现所要求的系统,以便在编码阶段直接翻译成用具体程序语言

书写的程序。主要工作有,根据软件需求说明书中所描述的数据,功能运行、性能需求,并依据概

要设计说明书所确定的处理流程、总体结构和模块外部设计,软件系统的结构,逐个模块的程序描

述。

1.2背景

软件开发名称:新生报到管理系统

项目任务提出者:黄冈师范学院

软件开发者:数学与计算机科学学院

用户:黄冈师范学院

软件开发人员:

定义

FRMS:新生报到管理系统

B/S:Brower/Server:浏览器/服务器

1.3参考资料

《新生报到管理系统可行性分析报告》

《新生报到管理系统需求分析报告》

《新生报到管理系统概要设计报告》

《软件工程导论》

《使用软件工程》

《软件文档写作》

2程序系统的组织结构

新生报到系统

3程序1(标识符)设计说明

3.1程序描述

从面需求分析可以看出,系统功能庞杂,主要分为前台浏览器(B/S)信息发布和数

据查询,后台(C/S)数据管理和处理,学生管理功能部分数据分为5类:新生相关;在校生相关;

组织社团相关;毕业生相关;学生成绩综合查询相关。从使用和操作的功能上分,有三种用户:普

通用户(浏览器浏览、查询);业务数据管理人员(学生工作辅导员、教务干事);系统管理员。为

便于整个系统组织管理,把各个相对独立的数据或功能组织到整个大系统中来,我们把各个相对独

立的功能完全独立设计,编译成独立的目标(功能)模块(singleExecutable),各功能模块最后被集

成到一个称为虚拟桌面的控制台模块中。相应地将系统结构分为一个控制台程序和五个子系统,各

子系统又分为若干个子模块。对应于每个模块,几乎都有录入、查询、修改、删除、查看详细资料

这几个功能。整个业务流程就是有这几种基本功能实现的。在这里每个模块都要用到的功能没必要

在每个子模块里重复阐述,在每个子模块里只列出区别于其他子模块的功能实现。

3.2功能

(1)一般功能:

(2)特殊功能1:

3.3性能

(1)系统登录:用户输入网址,来到登陆界面,输入用户名与密码进行登录。用户名与密码

有误时提醒用户重新输入,并清除用户的错误输入数据,如果用户按取消,说明用户自己意识到输

入有误,故系统也要实现用户名与密码栏。

(2)报到管理:当有新生报到时,点击'报到管理'按钮,系统将进入报到管理界面,工作

人员输入学生报到的录取通知书号,点击查询按钮,系统显示该学生的基本信息、,并提供辅导员、

班级等信息,方便帮助学生找到老师与班级。这个界面适合几个部门共同使用,档案收取的部门进

入该界面后,输入学生通知书号,在‘报道管理’栏的'高中档案缴纳'处点击单选框'是',登记

学生已经缴纳档案,同理,组织关系处也采用类似操作,在组织关系缴纳后面勾选‘是

(3)缴费管理:工作人员点击‘缴费管理’,显示缴费管理界面,输出学生录取通知书号,

如果新生已经将钱按额存入银行,则系统可以在此查询缴费是否成功,系统必须显示出缴费成功与

否,如果已经交费,则系统在‘缴费管理‘处'是‘栏自动打上勾。未交费则在'否’栏打上勾,

此时要求新生去交费,到现场交费后拿缴费单刀报道人员处,人员将其缴费情况录入系统,即在缴

费管理栏选择'是

(4)宿舍管理:工作人员输入学生的录取通知书号,查看学生基本信息,并确定分配的宿

舍分别配给哪一位同学。工作人员在“寝室分配”栏里的下拉列表中选择查询的条件,当这条件选

择后,系统开始查询数据,将数据显示在下面的表格中,查询出学生满意的寝室后,在右下角的“寝

室登记“栏,输入房间编号,点击‘登记'按钮,对学生分配宿舍。

(5)系统管理:实现新用户注册,系统密码修改。

3.4输入项

新生注册码作为新生的唯一标示,其余的信息均由系统生成。

3.5输出项

本系统的输出主要是总体信息,而且大部分是数字信息。

如:

学工部:它需要知道有多少人到了,还缺多少人,他们分布在哪些系。

财务部:它需要知道有多少人交费了,还有多少人没有交费,欠费人的名单及欠费金额。这

些学生分布在哪些系。

各系部:它需要知道哪些专业(班级)的报到情况,交费情况。

而以上所有信息必须准确、清晰、明了,不能有任何的失误。

3.6算法

功能说明:打开系统,来到登陆界面,输入用户名与密码进行登陆。用户名与密码有误时

提醒用户重新输入,并清除用户的错误输入数据,如果用户按取消,说明用户自己意识到有

错误,故系统也要实现清空用户名与密码栏。

3.7流程逻辑

缴费流程如下:

报到管理流程:

3.8接口

1、外部接口

(1)用户界面:采用非常流行的WEB界面。

(2)软件接口:运行于IE6.0以上的版本。

(3)硬件接口:支持一般X86系统微型计算机。

2、内部接口

有IE调用本系统,进入登陆模块。退出系统模块,执行完毕返回操作系统。主模

块由登陆模块调用,接收系统功能相应信息,启动个人信息管理、收费、退费收费汇

总、宿舍情况管理、宿舍分配。个人信息管理模块由模块调用,执行增加、查询、修

改删除个人信息的功能。部门审查模块由系统菜单模块调用,执行删除、查询、审查

上报申请书的功能。汇总模块由系统菜单模块调用,执行查询、汇总申请书的功能。

系统管理模块由系统菜单模块调用,执行数据维护、用户管理的功能。

3.9存储分配

数据记录格式设计为了便于操作人员、填表人员、现场工作人员填写,我们把表格设计得比

较规范而独特。采用了一下技术:1)风格2)阴影3)选择框4)颜色5)设立数字域

3.10注释设计

为了分析具备什么特点的系统易于修改,必须先找出修改一个系统的困难来自何处。系统

的修改,往往是某一个模块或某一子系统的细节的一些变动,或者是子系统组合关系的某些变

动,更常见的是某一局部的数据结构或执行语句的修改。这种修改的本生并不困难,困难在于

找出需要修改的地方和这一修改对其他部分的影响。我们知道系统各个部分之间存在控制、调

用、数据交换等种种联系。对某一局部的修改,可能直接或间接的影响到系统其他部分。对A

的修改波及到B,而对B的修改又会影响到C,E…,人们把这种影响形象地称为“水波效应”。雨

因此要进行系统某一个局部的修改,必须十分小心的追踪这一修改所波及的各个方面,这是系

统难以修改的主要原因。一个易于修改的系统应该由一些相对独立、功能单一的模块按照层次

结构组成。这些模块之间不必要的联系都已去掉,而且他们的功能及相互关系都已阐明。这就

是结构化设计的基本思想。

3.11限制条件

3.12测试计划

详见代码实现部分

3.13尚未解决的问题

4.1.1登陆界面设计及实现

(1)主要功能

登录界面主要是对用户进行身份、密码验证,以保证系统的安全性,以及对管理员身份角色的

判断,设置对应不同的权限。。

(2)界面设计

包含两个文本框和一个下拉列表框,下拉列表框包括管理员和操作员两种角色,用户登陆时

根据自己不同的角色进行选择,当用户输入的账号和密码正确时,进入对应的操作主界面,当用户输

入密码不正确时,会提示密码错误,请重新输入

系统登陆主界面如下图:

(3)部分事件代码实现

登录“确定”按钮单击事件处理程序:

privatevoidbtLoginClick1(objectsender,EventArgse)

(

s=cmbRoles.Text;

if(this.txtUserName.Text==""||this.txtPwd.Text=="")

(

MessageBox.Show("账号或"密码不能为空”);

txtUserName.Focus();

}

else

(

if(this.cmbRoles.Text=="管理员")

try

sqldb.myconn.Open();

stringname=txtUserName.Text;

stringpwd=txtPwd.Text;

stringsql="select*fromAdminwhereLoginName='"+this.txtUserName.Text

+“'andLoginPwd='〃+this.txtPwd.Text+"'〃;

//stringsql="selectcount(*)fromAdminwhereLoginName=@LoginNameand

LoginPwd^@LoginPwd,z;//参数化sql语句

//SqlCommandcmd=newSqlCommand(sql,sqldb.myconn);

//cmd.Parameters.Add(newSqlParameter(^©LoginName^,name));

//cmd.Parameters.Add(newSqlParameter(z,@LoginPwd/z,pwd));

inti=Convei't.Tolnt32(sqldb.executescalar(sql));

〃判断密码和账号是否有误

//inti=Convert.ToTnt32(cmd.ExecuteScalar(sql));

sqldb.myconn.Close();

if(i=0)

(

MessageBox.Show("账号或密码有误“);

txtUserName.Text=

txtPwd.Text=

txtUserName.Focus();

)

//if(sqldb.executescalar(sql)==null)

//{

//MessageBox.Show("账号或密码有误”);

//textBoxl.Text=〃”;

//textBox2.Text=

//textBoxl.Focus();

//)

else

(

Program,flag=1;

//this.HideO;

this.Close();

)

)

catch

(

sqldb.myconn.Close();

)

else

stringsql="select*fromOperwhereLoginName=+this.txtUserName.Text+

“'andLoginPwd='〃+this.txtPwd.Text+

if(sqldb.executescalar(sql)==null)

(

MessageBox.Show("账号或密码有误“);

txtUserName.Text二〃〃;

txtPwd.Text="〃;

txtUserName.Focus();

}

else

(

Program,flag=1;

this.Close();

)

)

}

)

4.1.2主界面设计

主界面作为父窗体,窗体上端使用menuStrip控件做的一个菜单项,菜单

面是用toolstrip做的一个工具栏,如果为管理员登陆,拥有所有权限,上面

菜单及按钮全部都能使用,如果是操作员登陆,只有报到统计查询和新生信息查询,修改密码权限

其余功能都不能使用,菜单项和按钮为灰色

主界面如下图:

4.1.3信息导入界面设计及实现

(1)主要功能

将存放新生信息的execl表,导入到系统的数据库中

界面设计,

一个打开文件夹的导入按钮,另一个保存到数据库的保存按钮,和一个显示导入数据

的datagridview控件

信息导入界面如下图:

(1)部分事件代码实现

〃导入execel代码

privatevoidbtlnfoTnto^Click(objectsender,EventArgse)

(

OpenFi1eDialogopenFileDialogl=newOpenFileDialogO;

openFileDialogl.Filter="Execlfiles(*.xls)I*.xls”;

openFileDialogl.Fi1terlndex=0;

openFileDialogl.RestoreDirectory=true;

openFileDialogl.FileName=nul1;

openFileDialogl.ShowDialogO;〃选择要导入的execel

stringPath=openFileDialogl.FileName;

txtFilePath.Text=Path;

stringstrConn="Provider=Microsoft.Jet.OLEDB.4.0;"+'DataSource="+

txtFilePath.Text++"ExtendedProperties=Excel8.0;";

OleDbConnectionconn=newOleDbConnection(strConn);

stringstrExcel=

01eDbDataAdaptermyda=null;

DataSetds=null;

strExcel="select*from[sheetl$]〃;

myda=new01eDbDataAdapter(strExcel,strConn);

ds=newDataSet();

if(txtFilePath.Text!=

(

myda.Fi11(ds);

dGVStuInf.DataSource=ds.Tables[0];

)

else

(

MessageBox.Show("你没有选择要导入的数据”);

return;

)

)

〃将excel表保存到数据库

privatevoidbtSaveDB_Click(objectsender,EventArgse)

(

try

(

stringstrConn="Provider:Microsoft.Jet.OLEDB.4.0;"+“DataSourcei十

txtFilePath.Text++"ExtendedProperties=Excel8.0;";

OleDbConnectionconn=newOleDbConnection(strConn);

stringstrExcel=〃”;

01eDbDataAdaptermyda=null;

DataSetds=null;

strExcel="select*from[sheetl$]”;

myda=new01eDbD<itaAdapter(strExcel,strConn);

ds=newDataSet();

myda.Fill(ds);

conn.Close();

DataTabledt=ds.Tables[0];

stringstrInsertComm;

for(inti=0;i<dt.Rows.Count;i++)

(

strTnsertComm=

strlnsertComm="Insertinto

student(ksh,xm,xb,csrq,sfzh,zzmm,mz,yxdm,yxmc,zydm,zymc,cc,xz,xxxs,kslb,shengshi,jIguan,score)

;〃数据库表的字段

strlnsertComm+="values(";

for(intj=0;j<18;j++)

if(j>0)

strlnsertComm+=";"+dt.Rows[i][j].ToStringO.Trim()+

else

(

strlnsertComm+="+dt.Rows[i][j].ToStringO.TrimO+〃'〃;

)

)

strlnsertComm+=")”;

sqldb.execute(strlnsertComm);

)

MessageBox.Show("导入成功!〃);

State();

)

catch

(

MessageBox.Show("导入失败");

)

}

4.1.4资格审查界面设计及实现

(1)主要功能

核对报到新生的信息,对报到新生进行标示

(2)界面设计

通过输入报到新生的准考证号,进行核对,如果正确,在下面显示新生的信息,并进行核

对,如果无误,选择报到状态,进行保存

资格审查界面如下图

事新生报到系统-[济格审查匚叵区

(2)部分事件代码实现

查询按钮单击处理程序:

〃资格审查

privatevoidbtstuCheckClick(objectsender,EventArgse)

(

stringpicname=txtksh.Text+〃.jpg”;

SqlConnectionmyconn;

myconn=newSqlConnection();

myconn.ConnectionString=

ConfigurationManager.ConnectionStrings[^sqlconnz,].ConnectionString;

myconn.Open();

stringsql="Select

xm,xb,sfzh,zzmm,kslb,yxmc,jiguan,zymc,xxxs,score,mz,yxdm,zydm,csrq,shengshi,RegStatefrom

studentwhereksh='〃+txtksh.Text+

SqlCommandcommand=newSqlCommand(sql,myconn);

SqlDataReaderdateReader=command.ExecuteReader();

if(!dateReader.HasRows)

(

MessageBox.Show("查询有误"®,请核对你的输,"错误提示”);

return;

}

else

{〃判断该生是否已经注册

dateReader.ReadO;

stringReg=dateReader[^RegState^].ToStringO;

if(Reg=T)

MessageBox.Show("该生|已注册,请核对你的输入”);

txtksh.Text="〃;

return;

)

〃从数据库中读..取•・数据

stringxm=(string)dateReader[O];

stringxb=(string)dateReader[l];

stringsfzh二(string)dateReader[2];

stringzzmm=(string)dateReader[3];

stringkslb二(string)dateReader[4];

stringyxmc=(string)dateReader[5];

stringjiguan二(string)dateReader[6];

stringzymc=(string)dateReader[7];

stringxxxs二dateReader[8].ToStringO

stringscore=dateReader[9].ToStringO;

stringmz二(string)dateReader[10];

stringyxdm=(string)dateReader[11].ToStringO;

stringzydm=(string)dateReader[12].ToString();

stringcsrq=(string)dateReader[13];

stringshengshi二(string)dateReader[14];

txtxm.Text=xm;

txtxb.Text=xb;

txtsfzh.Text=sfzh;

txtzzmm.Text=zzmm;

txtkslb.Text=kslb;

txtyxmc.Text=yxmc;

txtjiguan.Text=jiguan;

txtxxxs.Text=xxxs;

txtzymc.Text=zymc;

txtscore.Text=score;

txtmz.Text=mz;

txtyxdm.Text=yxdm;

txtzydm.Text=zydm;

txtcsrq.Text=csrq;

txtshengshi.Text=shengshi;

//判断该生照片是否存在..

try

(

stringfilePath=Application.Startuppath+“\\Image\\〃+picname;

picSTU.Image=Image.FromFile(filePath);

)

catch

MessageBox.Show("该生照不存在!");

Clear();

picSTU.Image=picSTU.InitialImage;

return;

)

)

4.1.5报到率查询界面设计及实现

(1)主要功能

按条件对报到新生进行统计,以图标的形式显示出来

(2)界面设计

左边用datagridview绑定显示查询的报到率数据,右边运用第三方图表控件进行报

到率的显示

报到率界面如下图:

(3)部分事件代码实现

选择专业时的处理程序:

〃按专业对报到新生的图表统计

privatevoidcmbprofessSelectedlndexChanged(objectsender,EventArgse)

{

//comboBox2.Text="--请选择

Profess(cmbprofess.Text);

chartletl.ChartTitle.Text="报到信息图表统计名称

stringsql;

chartletl.AppearanceStyle=

FanG.Chartlet.AppearanceSty1es.Bar_2D_Aurora_FlatCrystal_Glow_NoBorder;/7图表显示形式

//chartletl.Background.Paper=Color.FromArgb(0,0,0,0);

//chartlet1.AppearanceStyle=

FanG.Chartlet.AppearanceStyles.Pie3DAuroraFlatCrystalNoGlowNoBorder;

〃全部专业以柱状图形式显示

if(cmbprofess.Text=="一全部专业-")

(

//chartletl.ChartTitle.Text="报到信息”;

sql="selectzymcas'专业count(*)as'录取",count(RegState)as'报到

1,cast(round(cast(count(RegState)asdecimal)/cast(count(*)asdecimal),3)*100asdecimal(10,2))

as'报到率"°%'fromstudentgroupbyzymc”;

}

〃各个专业饼状图a显示

else

(

chartletl.ChartTitle.Text="报到信息";

chartlet1.AppearanceStyle=

FanG.Chartlet.AppearanceStyles.Pie3DAuroraFlatCrystalNoGlowNoBorder;

sql="selectstate,count(*)as'录取',count(RegState)as'报到'fromstudent

wherezymc='"+cmbprofess.Text+groupbystate”;

)

try

(

SqlDataAdapterda=newSq1Data^^dapter(sql,sqldb.myconn);

DataSetds=newDataSet();

da.Fill(ds);

chartletl.BindChartData(ds.Tables[0]);

chartletl.Refresh();

)

catch

(

return;

)

)

〃专业报到率表

privatevoidProfess(stringcboProfess)

(

DataSetds=newDataSet();

stringsql;

if(cboProfess=="一全部专业

(

sql=string.Format(,zselectzymcas'专业',count(*)as'录取',count(RegState)

as'报至cast(round(cast(count(RegState)asdecimal)/cast(count(*)asdecimal),3)*100as

decimal(10,2))as'报到率"fromstudentgroupbyzymc");

)

else

(

sql=string.Format(^selectzymcas'专业i',count(*)as'录取',count(RegState)

as*JR®],cast(round(cast(count(RegState)asdecimal)/cast(count(*)asdecimal),3)*100as

decimal(10,2))as'报到率fromstudentwherezymc='"+cboProfess+groupbyzymc");

}

SqlDataAdapterda=newSqlDataAdapter(sql,sqldb.myconn);

da.Fill(ds);

dGVReg.DataSource=ds.Tables[0];

)

4.1.6系统分班界面设计及实现

(1)主要功能

根据所选专业的人数设置要分班级的个数,然后点击分班自动产生该专业每个学生的班级

名称,学生的学号,并且每个班级男女比例很相近

(2)界面设计

窗体上方有两个下拉列表框的级联查询,根据院系,选择对应的专业,

下面有两个文本框,一个显示该专业的人数,另一个填写要分班级的个数,右边有一个分班按钮,

进行分班,下面datagridview显示分班的结果

(3)部分事件代码实现

分班按钮的单击处理程序:

publicvoidclassset(DataSetdsStu,intClassCount)

{

stringprofessName="";

professName=cmbprofess.Text;

^region创建班级

stringClassic!=

StringBuiIderclassList=newStringBuiIder("BEGINTRANSACTION");〃插班级sql

for(inti=0;i<ClassCount;i++)

(

stringClassName=professName+(i+1)+”班〃班级名称

stringProfessTD=cmbprofess.SelectedValue.ToStringO;

Classld=〃〃;

Classld=(i+1).ToStringO;

if(Classld.Length==1)

{

Classld=〃0"+Classld;

)

classList.AppendFormat(z,insertintoClass(classID,className,professID)

values('{0}{1}{2}');",Classld,ClassName,ProfessID);

}

classList.Append("COMMITTRANSACTION");〃执行事务

intreturnNum=sqldb.execute(classList.ToStringO);

if(returnNum<=0)

(

MessageBox.Show("系;统分班出错请重新分班”);

return;

)

ttendregion

ttregion分Q?班VO

StringBuiIderstulist=newStringBuiIder("BEGINTRANSACTION");〃插学生sql

//stringProId=dsStu.Tables[0].Rows[0][,zzydnfz].ToStringO;

DataSetclassDS=sqldb.sqlSet(^select*fromClasswhereprofessID='〃+

cmbprofess.SelectedValue+〃);

〃男D生

intyushu=0;

DataRowf]boysum=dsStu.Tables[。].Select("xb='男D'","kshasc");

for(intnum=0;num<boysum.Length;num++)

(

yushu=num%ClassCount;

stulist.AppendFormat(,zupdatestudentsetclassID=,(0}*,className=,⑴',cid二’(2}

whereksh='{3}';",classDS.Tables[0].Rows[yushu][*classID*].ToStringO,

classDS.Tables[0].Rows[yushu]["className"].ToStringO,

classDS.Tables[0].Rows[yushu]ToStringO,boysum[num][/zksh,z].ToStringO);

}

〃女生

DataRowf]girlsum=dsStu.Tables[0].Select(〃xb二'女",〃kshasc");

for(intnum=0;num<girlsum.Length;num++)

(

yushu=num%ClassCount;

stulist.AppendFormat(^updatestudentsetclassID=,{0;1,,className=,⑴',cid二’(2)

whereksh='{3}';",classDS.Tables[0].Rows[yushu][^classID*].ToString(),

classDS.Tables[0].Rows[yushu]["className"].ToString(),

classDS.Tables[0].Rows[yushu]ToString(),girlsum[num][,zksh,z].ToStringO);

)

stulist.AppendCCOMMITTRANSACTION");

returnNum=sqldb.execute(stulist.ToStringO);

Sno(classDS);

)

〃分学号

publicboolSno(DataSetclassDS)

(

intClassCount=int.Parse(txtclasscount.Text);

stringsql=string.Format(''select*fromstudentwherezymc='"+cmbprofess.Text+〃'and

RegState=TO;

DataSetStuDS=sqldb.sqlSet(sql);

stringnian=DateTime.Now.Year.ToStringO;

stringxihao=StuDS.Tables[0].Rows[0][z/yxdmz,].ToString();

stringzhuanye=StuDS.Tables[0].Rows[0][^zydm*].ToStringO;

stringClassID=

stringClassic!=

stringxuliehao=

stringSNo=””;

DataRowf]ClassStuDRS=null;

StringBuildersb=newStringBuiIderCBEGINTRANSACTION〃);

for(intclassindex=0;classindex<classDS.Tables[0].Rows.Count;classlndex++)

(

ClassID=classDS.Tables[0].Rows[classindex]ToStringO;

ClassStuDRS=StuDS.Tables[。].Select("cid='"+ClassID+"kshASC");

^region查询出班级编号ClassID

stringClasssql=string.Format(z,selectclassIDfromClasswhereid={0}”,ClassID);

SqlCommandcomm=newSqlCommand(Classsql,sqldb.myconn);

if(sqldb.myconn.State==ConnectionState.Closed)

{

sqldb.myconn.Open();

SqlDataReadeidr=comm.ExecuteReader();

if(dr.HasRows)

{

dr.Read();

Classic!=dr["ClassID"].ToStringO;

sqldb.myconn.Close();

}

#endregion

for(intClassStuIndex=1;ClassStuIndex<=ClassStuDRS.Length;ClassStuIndex++)

{

xuliehao=ClassStuIndex.ToStringO;

switch(xuliehao.Length)

(

case1:

xuliehao="000〃+xuliehao;

break;

case2:

xuliehao=“00〃+xuliehao;

break;

case3:

xuliehao="0"+xuliehao;

break;

default:

break;

)

SNo=nian+xihao+zhuanye+Classic!+xuliehao;

sb.AppendFormat(z,updatestudentsetSNO='{01*whereksh=,⑴';",SNo,

ClassStuDR

温馨提示

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

评论

0/150

提交评论