




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 10 章 在线考试系统开发实例 教学提示 本章介绍了在线考试系统的开发实例 通过实例进一步介绍 ASP NET 在 实际项目中的应用 让读者对 ASP NET 开发有更全面 完整的认识 教学要求 了解使用 ASP NET 进行项目开发的过程 了解使用 ASP NET 开发一个完 整应用系统的编程方法 10 1 系 统 说 明 本系统是集支持 Access SQL Server 和 Oracle 3 种数据库于一体的 在线考试系统 要在Access SQL Server和Oracle 3种数据库中的一种中运行本实例 只需要修改web config 中的参数即可 无需再次重新编译程序 请打开webconfig文件 把DBType标记的value属性改为对应的字符串 access sql oracle 其中 1 个 并在 web config 文件写上对应的连接字符串 系统默认数据库为 access 如果使用 access 数据库 请把数据库文件名改为 trybooks mdb 并放在 Ben try database 目录下 并且保证ASP NET 用户有足够修改该数据库文件的权限 用查询分析器运行 BenTry sql 文件 便可以得到初始数据库 或者还原 trybooks 数据库 备分文件 默认管理员账号为 admin 密码为 123456 登录后可以在修改密码选项修改密码 默认考生的密码与该考生的考生编号一致 考生在考试登录页面可以修改密码 请初始化数据库后按菜单的顺序操作 如果跳过某些操作使数据不完整 会转到错误 页面或出现异常 例如 添加一个课目后 请先在题库管理中添加最少 1 道试题才可以生 成试卷 否则出现异常 因为试题筛选器的缘故 首页为根目录的 index html 文件 系统完整的源程序请从北大出版社的网站下载 10 2 系 统 分 析 1 系统总体目标 在线考试系统是企业 学校 面对内部人员的考试系统 企业通过它可以建立自己的网 第 10 章 在线考试系统开发实例 315 315 上考场 可以让内部人员直接实行网上考试 一方面既减少了笔试的开销 降低了企业成 本 提高企业的效率 另一方面又避免了笔试的繁琐过程 使考试过程变得轻松 快捷 方便 很适合现代要求高效率的企业或学校 同时又能有效控制考试的作弊情况 确保考 试能公开 公正地进行 使用该系统 企业 学校 可以建立自己的试题库 试卷和员工 学生 的考试记录 并可 以随时进行考试 考生也可以通过该系统查询考试成绩和查考试答案 2 系统功能模块图 系统功能模块图如图 10 1 所示 图 10 1 在线考试系统功能模块图 1 试题管理 1 考试科目管理 定义考试科目 在系统中新建考试科目 编辑考试科目 可以对科目进行编辑 修改科目名称 删除考试科目 删除考试科目会将该科目的试卷和题库中该科目的试题一并删除 所以 请谨慎使用 2 题库管理 添加试题 添加试题 试题答案 类型和试题科目 把试题录入到题库中 编辑试题 将已经存在的试题修改题干 答案或类型 删除试题 将存在的试题删除 3 试卷管理 手动生成试卷 自己手动出题 可以选择把该试卷的试题一并录入题库中 随机生成试卷 选择好科目后 系统自动从题库中选择符合条件的试题组合成一张试卷 选择试题生成试卷 从题库中选择符合条件的试题生成试卷 2 考生管理 1 部门 考生管理 添加部门 考生 添加参加考试的部门和考生 更新部门 考生 更新参加考试的部门和考生 删除部门 考生 删除参加考试的部门和考生 ASP NET 程序设计教程与实训 C 语言版 316 316 2 考试权限设置 定义考生考试权限 将定义好的试卷的考试权限授权给要参加该试卷考试的考生 取消考生考试权限 取消已授权考生的考试权限 3 考试监控 取消考生考试资格 对于违反纪律的考生 取消其考试资格 该考生将没有该科目考 试权限 恢复考试权限 对于人为原因造成考试中断的 恢复该考生重新考试的权限 4 考试成绩管理 查看各部门的所有考生的成绩列表 并根据成绩排序 3 系统管理 1 系统权限管理 添加 删除管理员 并可以定义各管理员的管理权限 2 更改密码 管理员更改自己的登录密码 4 考试管理 1 在线考试 考生输入自己姓名 考号和选择考试科目 进入考试信息页面 检查考试信息是否正 确 在限定时间内完成考试 并提交试卷 提交试卷后可立即查看当前科目的考试成绩 2 成绩查询 考生输入自己的姓名 考号 进入成绩表页面 显示该考生过往全部考试的试卷名和 成绩 选择试卷名 进入该试卷的答案记录 可以查看自己的答案和正确答案 3 系统用例图 系统用例图如图 10 2 所示 图 10 2 系统用例图 第 10 章 在线考试系统开发实例 317 317 4 系统数据流图 系统数据流图如图 10 3 所示 图 10 3 系统数据流图 5 考生在线考试活动图 考生在线考试活动图如图 10 4 所示 ASP NET 程序设计教程与实训 C 语言版 318 318 图 10 4 考生在线考试活动图 6 系统功能页面 系统的主要功能页面见表 10 1 表 10 1 系统主要功能页面 系统功能 实现页面 系统主页面 index html 数据持久层类文件 Ben try cs 系统后台管理登录页面 admin adminLogin aspx 系统后台管理主页面 admin admin html 考试试卷管理页面 admin mgTrybooks aspx 生成试卷页面 admin trybooksManage aspx 考试成绩管理页面 admin mgScore aspx 学生在线考试登录页面 stuTry stuLogin aspx 学生在线考试页面 stuTry try aspx 10 3 系统数据库设计 根据系统的需求和分析 系统需要设计的数据库表有考试科目表 试卷信息表 题 库表 试卷表 考试成绩及答案表 考试权限表 部门 班级表 考生表和管理员表等 见 表 10 2 至表 10 10 第 10 章 在线考试系统开发实例 319 319 表 10 2 题库表 allTrys 字段名称 数据类型 允许空 主 外键 备 注 trys id int 非空 主键 试题编号 自动增长 object id int 非空 外键 考试科目 主表 allObject try diff int 非空 试题难度 1 简单 2 一般 3 困难 try score int 非空 试题分值 try type int 非空 试题类型 1 判断 2 单选 3 多选 try subject VarChar 200 非空 题目题干 a VarChar 100 A 选项内容 判断题不需要 b VarChar 100 B 选项内容 判断题不需要 c VarChar 100 C 选项内容 判断题不需要 d VarChar 100 D 选项内容 判断题不需要 try keys VarChar 10 非空 试题答案 表 10 3 试卷表 trys 试卷表模版 具体表名由管理员定义 字段名称 数据类型 允许空 主 外键 备 注 subject id int 非空 主键 试题编号 自动编号 try type int 非空 试题类型 try score int 非空 试题分值 try diff int 非空 试题难度 try subject VarChar 200 非空 题干 a VarChar 100 选项 a 的内容 b VarChar 100 选项 b 的内容 c VarChar 100 选项 c 的内容 d VarChar 100 选项 d 的内容 try keys VarChar 10 非空 题目答案 表 10 4 考试权限控制表 CanTry 字段名称 数据类型 允许空 主 外键 备 注 stu num Int 非空 考生编号 Tbsdb name VarChar 50 非空 试卷数据表名 ASP NET 程序设计教程与实训 C 语言版 320 320 表 10 5 考试成绩及答案表 stuScore 字段名称 数据类型 允许空 主 外键 备 注 stu num Int 非空 主键 考生编号 tbsdb name VarChar 50 非空 试卷表名 tbs name VarChar 20 非空 试卷名 try date VarChar 50 非空 考试日期 stu keys VarChar 200 非空 考生答案 stu score Int 非空 考试成绩 submitTime VarChar 50 非空 提交时间 表 10 6 试卷信息表 mgTrybooks 字段名称 数据类型 允许空 主 外键 备 注 tbs id Int 非空 主键 试卷编号 自动编号 object id Int 非空 外键 所属科目 主表 allObject tbs name VarChar 50 非空 试卷名 tbsdb name VarChar 50 非空 试卷表名 try time Int 非空 考试时间 try score Int 非空 卷面总分 表 10 7 考试科目表 allObject 字段名称 数据类型 允许空 主 外键 备 注 object id Int 非空 主键 考试科目编号 object name VarChar 50 非空 考试科目名称 表 10 8 部门 班级表 stuClass 字段名称 数据类型 允许空 主 外键 备 注 class id int 非空 主键 部门 ID 自动编号 class name VarChar 20 非空 部门名称 表 10 9 考生 students 字段名称 数据类型 允许空 主 外键 备 注 stu num VarChar 20 非空 主键 考生编号 class id int 非空 外键 考生所属部门 班级 主表 stuClass stu name VarChar 20 非空 考生姓名 stu pass VarChar 20 非空 考生的登录密码 stu sex VarChar 20 非空 考生性别 isLogin int 非空 登录状态 0 未登录 1 已经登录 isSubmit int 非空 试卷提交状态 0 未提交 1 已提交 第 10 章 在线考试系统开发实例 321 321 表 10 10 admin 管理员 字段名称 数据类型 允许空 主 外键 备 注 admin num int 非空 主键 管理员 ID admin name VarChar 20 非空 管理员的用户名 admin pass VarChar 20 非空 管理员的登录密码 mgTry int 试题管理 0 不具备权限 1 具备权限 mgStudents int 考生管理 0 不具备权限 1 具备权限 mgSystem int 系统管理 0 不具备权限 1 具备权限 10 4 程序主要代码 1 系统主界面 系统主界面文件为 index html 系统主界面如图 10 5 所示 图 10 5 系统主界面 2 系统后台管理登录页面 后台系统管理的文件位于 admin adminLogin aspx 默认管理员账户为 admin 密码为 123456 后台系统管理登录页面如图 10 6 所示 ASP NET 程序设计教程与实训 C 语言版 322 322 图 10 6 后台管理登录页面 文件名 admin adminLogin aspx protected System Web UI WebControls PlaceHolder pholdAdminLogin private void Page Load object sender System EventArgs e Control myControl Page LoadControl ascxfile adminLogin ascx pholdAdminLogin Controls Add myControl 从上面的代码可以看出 adminLogin aspx 页面通过一个 PlaceHolder 控件动态加载了 用户控件 ascxfile adminLogin ascx 后台系统管理登录部分的关键代码如下 文件名 ascxfile adminLogin ascx 后台管理登录 private void btnLogin Click object sender System EventArgs e DataUse datause new DataUse DataSet ds datause AdminLogin tboxAdminName Text tboxAdminPass Text 验证账号和密码是否正确 if ds Tables 0 Rows Count 0 设置试题管理的权限 if Convert ToInt32 ds Tables 0 Rows 0 mgTry 1 Session mgTry 1 设置考生管理的权限 if Convert ToInt32 ds Tables 0 Rows 0 mgStudents 1 Session mgStudetns 1 设置系统管理的权限 第 10 章 在线考试系统开发实例 323 323 if Convert ToInt32 ds Tables 0 Rows 0 mgSystem 1 Session mgSystem 1 Response Redirect Admin html else labError Text 该账号不存在或密码错误 3 后台管理界面 后台系统管理的文件位于 admin admin html 后台系统管理的主要功能有 1 试题管理 考试题目管理 考试题库管理 考试试卷管理 2 考生管理 考生 部门管理 考试权限管理 考试成绩管理 考生考试监控 3 系统管理 管理权限设置 修改用户密码 返回登录页面 后台系统管理登录界面如图 10 7 所示 图 10 7 后台管理页面 4 考试试卷管理 考试试卷管理的模块文件位于 admin mgTrybooks aspx 可在此模块中编辑 删 除已定义好的试卷 考试试卷管理页面如图 10 8 所示 ASP NET 程序设计教程与实训 C 语言版 324 324 图 10 8 考试试卷管理页面 5 生成试卷 生成试卷的模块文件位于 admin trybooksManage aspx 每个试卷生成时会由本系 统新创建一张表来保存这张试卷 该模块的关键代码如下 文件名 admin trybooksManage aspx cs 实例化数据操作类 DataUse datause new DataUse private void Page Load object sender System EventArgs e if IsPostBack BindObject 给试卷表随机一个名称 txtTbsDbName Text RanTableName 课目下拉菜单的数据绑定 public void BindObject string strSelect select from allobject DataSet ds datause GetData strSelect listObject DataTextField object name listObject DataValueField object id listObject DataSource ds Tables 0 listObject DataBind 生成随机的表名 public string RanTableName 取出当前的时间实例 string strTime DateTime Now ToString yyyymmddhhmmss 第 10 章 在线考试系统开发实例 325 325 储存所有的字符变量 string strLetter A B C D E F G H I J K L M N O P Q R S T U V W X Y Z string strHead strLetter Split new Char 产生 4 位随机数 Random rannum new Random for int i 0 i 2 i strTime strHead rannum Next 0 25 strTime return strTime 题库筛选生成的单击事件 private void btnAddAllTrys Click object sender System EventArgs e string dbType1 System Configuration ConfigurationSettings AppSettings DBType ToLower 判断该试卷表是否存在 string strSelect select count from mgTrybooks where tbsdb name txtTbsDbName Text if datause DataCount strSelect 0 创建试卷表的 sql 语句 string strCreateTable create table txtTbsDbName Text if dbType1 oracle strCreateTable subject id Number 10 primary key try type Number 10 not null try score Number 10 not null try diff Number 10 not null try subject varchar2 200 not null a varchar2 100 b varchar2 100 c varchar2 100 d varchar2 100 try keys varchar2 10 not null else strCreateTable subject id int Identity 1 1 primary key try type int not null try score int not null try diff int not null try subject varchar 200 not null a varchar 100 b varchar 100 c varchar 100 d varchar 100 try keys varchar 10 not null 录入试卷管理表的 sql 语句 string strInsert if dbType1 oracle strInsert insert into mgTrybooks tbs id object id tbs name tbsdb name try time try score values tbs id NextVal Convert ToInt32 listObject SelectedItem Value txtTbsName Text txtTbsDbName Text Convert ToInt32 listTime SelectedItem Value Convert ToInt32 listAllScore SelectedItem Value else strInsert insert into mgTrybooks object id tbs name tbsdb name try time try score values Convert ToInt32 listObject SelectedItem Value txtTbsName Text txtTbsDbName Text Convert ToInt32 ASP NET 程序设计教程与实训 C 语言版 326 326 listTime SelectedItem Value Convert ToInt32 listAllScore SelectedItem Value 生成试卷表并把相关信息录入试卷管理表的事务 datause CreateTrys strCreateTable strInsert 转向的页面及传递的参数 string strUrl addTrysByAll aspx strUrl TbsName txtTbsName Text strUrl strUrl strUrl strUrl strUrl strUrl strUrl Response Redirect strUrl else Response Output Write alert 该数据表已经存在 请换一个 返回 private void btnBack Click object sender System EventArgs e Response Redirect mgTrybooks aspx 6 考试成绩管理 考试成绩管理模块文件位于 admin mgScore aspx 主要用于查询学生考试成绩 考试成绩管理页面如图 10 9 所示 图 10 9 考试成绩管理页面 第 10 章 在线考试系统开发实例 327 327 7 学生在线考试 学生经过首页登录成功后 进入在线考试界面 该功能模块位于 stuTry try aspx 首先在页面中编写一个 javascript 脚本程序在 IE 状态栏提示剩余时间 关键代码如下 文件名 stuTry try aspx var timer setInterval CountTime 1000 var T minute var T second 0 function CountTime if T second 0 时间结束 if T minute 0 else T minute T second 59 else T second window status 你的时间还剩 T minute 分 T second 秒 整个试卷都是根据试题库自动生成的 学生提交试卷后将在系统中保存学生的答题 内容 文件名 stuTry try aspx cs 试卷名 public string strTryName 登录时间 public string strLoginTime 提交时间 public string strSubmitTime 考试时间 public int intTryTime 实例化数据操作类 DataUse datause new DataUse 初始化变量 private void Page Load object sender System EventArgs e if Session trybooks null Session stu reset 1 DateTime nowTime DateTime Now 试卷名 strTryName Convert ToString Session tryObject 登录时间 strLoginTime nowTime ToLongTimeString 取出该试卷的考试时间 string sqlstr select try time from mgTrybooks where tbsdb name Session trybooks ToString DataSet ds datause GetData sqlstr intTryTime Convert ToInt32 ds Tables 0 Rows 0 try time 提交时间 strSubmitTime nowTime AddMinutes intTryTime ToLongTimeString else Response Redirect stuLogin aspx 生成判断题 public string GetJudge 取出试卷中的判断题数据集 string sqlstr select from Session trybooks ToString where try type 1 DataSet ds datause GetData sqlstr 题干 System Text StringBuilder sbJudge new System Text StringBuilder sbJudge Append 一 判断题 sbJudge Append 注 每题 题目的分值 sbJudge Append ds Tables 0 Rows 0 try score ToString sbJudge Append 分 对的打勾 错的不要打勾 题目 for int i 1 i ds Tables 0 Rows Count i sbJudge Append 对 sbJudge Append 错 sbJudge Append i ToString sbJudge Append sbJudge Append ds Tables 0 Rows i 1 try subject ToString return sbJudge ToString 生成单选 第 10 章 在线考试系统开发实例 329 329 public string GetChoice 取出试卷中的判断题数据集 string sqlstr select from Session trybooks ToString where try type 2 DataSet ds datause GetData sqlstr 题干 System Text StringBuilder sbChoice new System Text StringBuilder sbChoice Append 二 单项选择 sbChoice Append 注 每题 题目的分值 sbChoice Append ds Tables 0 Rows 0 try score ToString sbChoice Append 分 对的打勾 错的不要打勾 题目 for int i 1 i ds Tables 0 Rows Count i sbChoice Append sbChoice Append i ToString sbChoice Append sbChoice Append ds Tables 0 Rows i 1 try subject ToString sbChoice Append sbChoice Append A sbChoice Append ds Tables 0 Rows i 1 a ToString sbChoice Append sbChoice Append B sbChoice Append ds Tables 0 Rows i 1 b ToString sbChoice Append sbChoice Append C sbChoice Append ds Tables 0 Rows i 1 c ToString sbChoice Append sbChoice Append D sbChoice Append ds Tables 0 Rows i 1 d ToString return sbChoice ToString 生成不定项选择 public string GetManyChoice 取出试卷中的判断题数据集 string sqlstr select from Session trybooks ToString where try type 3 DataSet ds datause GetData sqlstr 题干 ASP NET 程序设计教程与实训 C 语言版 330 330 System Text StringBuilder sbManyChoice new System Text StringBuilder sbManyChoice Append 三 不定项选择 sbManyChoice Append 注 每题 题目的分值 sbManyChoice Append ds Tables 0 Rows 0 try score ToString sbManyChoice Append 分 对的打勾 错的不要打勾 题目 for int i 1 i ds Tables 0 Rows Count i sbManyChoice Append sbManyChoice Append i ToString sbManyChoice Append sbManyChoice Append ds Tables 0 Rows i 1 try subject ToString sbManyChoice Append sbManyChoice Append A sbManyChoice Append ds Tables 0 Rows i 1 a ToString sbManyChoice Append sbManyChoice Append B sbManyChoice Append ds Tables 0 Rows i 1 b ToString sbManyChoice Append sbManyChoice Append C sbManyChoice Append ds Tables 0 Rows i 1 c ToString sbManyChoice Append sbManyChoice Append D sbManyChoice Append ds Tables 0 Rows i 1 d ToString return sbManyChoice ToString 8 数据访问 系统所有的数据访问功能模块都放在文件 Ben try cs 文件中 并同时编写了 3 种 数据库的访问程序 只需通过 web config 中的参数即可配置成某一种数据库类型 因程序 代码行比较长 以下只给出了部分代码 程序名 Ben try cs 用于指定数据库的类型 public class DBHelp System Web UI Page 只要修改 dbType 的值就可以应用于不同的数据库 private static string dbType ConfigurationSettings AppSettings DBType ToLower public static string dbType 第 10 章 在线考试系统开发实例 331 331 get return dbType set dbType value 各种数据库的连接字符串 access 的连接字符串 public string OleDbConnstr string strPath Server MapPath database trybooks mdb Server 为类只能在动态方法中调用 string strBase Provider Microsoft Jet OLEDB 4 0 Data Source return strBase strPath sql 的连接字符串 public static string SqlConnstr ConfigurationSettings AppSettings SqlConnectionString oracle 的连接字符串 public static string OracleConnstr ConfigurationSettings AppSettings OracleConnectionString 数据库的常用操作类 public class DataUse public DataUse TODO 在此处添加构造函数逻辑 根据 SQL 语句返回数据集 public DataSet GetData string selstr DataSet ds new DataSet switch DBHelp dbType ToLower access 数据库 case access DBHelp dbhelp new DBHelp OleDbConnection conn new OleDbConnection dbhelp OleDbConnstr OleDbDataAdapter da new OleDbDataAdapter selstr conn da Fill ds ASP NET 程序设计教程与实训 C 语言版 332 332 break sql 数据库 case sql SqlConnection conn new SqlConnection DBHelp SqlConnstr SqlDataAdapter da new SqlDataAdapter selstr conn da Fill ds break oracle 数据库 case oracle OracleConnection conn new OracleConnection DBHelp OracleConnstr OracleDataAdapter da new OracleDataAdapter selstr conn da Fill ds break return ds 根据 SQL 语句返回数据集 应用于自定义分页 public DataSet GetData string selstr int intStarId int intMaxLen string strName DataSet ds new DataSet switch DBHelp dbType ToLower access 数据库 case access DBHelp dbhelp new DBHelp OleDbConnection conn new OleDbConnection dbhelp OleDbConnstr OleDbDataAdapter da new OleDbDataAdapter selstr conn da Fill ds intStarId intMaxLen strName break sql 数据库 case sql SqlConnection conn new SqlConnection DBHelp SqlConnstr SqlDataAdapter da new SqlDataAdapter selstr conn da Fill ds intStarId intMaxLen strName break oracle 数据库 case oracle 第 10 章 在线考试系统开发实例 333 333 OracleConnection conn new OracleConnection DBHelp OracleConnstr OracleDataAdapter da new OracleDataAdapter selstr conn da Fill ds intStarId intMaxLen strName break return ds 返回记录数 public int DataCount string strSelect int intDataCount 0 switch DBHelp dbType ToLower access 的操作 case access DBHelp dbhelp new DBHelp OleDbConnection conn new OleDbConnection dbhelp OleDbConnstr OleDbCommand comm new OleDbCommand strSelect conn try conn Open intDataCount Convert ToInt32 comm ExecuteScalar ToString catch OleDbException ex SystemError ErrorLog ex Message finally conn Close c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 魔术画我的飞天梦课件
- 济南市2025-2026学年八年级下学期语文期中模拟试卷
- 高速供配电基础知识培训课件
- XXXX年国企学习教育自评报告范文
- 电能电功电功率课件
- 电网急救知识培训新闻稿课件
- 电线维修知识培训课件
- 河南省洛阳市老城区2022-2023学年九年级上学期1期中化学试题(含答案)
- 电焊面罩产品知识培训
- 新解读《GB-T 30996.3-2018信息技术 实时定位系统 第3部分:433MHz空中接口协议》
- 小学综合教研组的工作计划PPT模板下载
- GB/T 7588.1-2020电梯制造与安装安全规范第1部分:乘客电梯和载货电梯
- GB/T 3406-2010石油甲苯
- GB/T 3098.9-2020紧固件机械性能有效力矩型钢锁紧螺母
- GB/T 15566.9-2012公共信息导向系统设置原则与要求第9部分:旅游景区
- GB/T 152.2-2014紧固件沉头螺钉用沉孔
- 幼儿园中班绘本:《我喜欢我的小毯子》
- 改革开放以来教育方面的变化课件
- DB44-T 2197-2019配电房运维服务规范-(高清现行)
- 山西省运城市各县区乡镇行政村村庄村名居民村民委员会明细
- 河西走廊课件
评论
0/150
提交评论