【ITOO考试系统】——级联查询

2024-06-13 14:48
文章标签 系统 查询 考试 级联 itoo

本文主要是介绍【ITOO考试系统】——级联查询,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        最近在做考试系统的模板,学到了如何写级联查询,这里简单的介绍一下,如果有人在这方面有困扰,可以稍稍借

鉴一下~


       什么是级联查询


       大家做过机房收费系统应该知道,有一个组合查询,级联查询类似组合查询,不过有些微的区别。

       组合查询 : A + B + C => answer.

       级联查询: A => B => answer.


       如何实现级联查询


       实现级联查询的逻辑其实很简单,触发A的同时加载B,触发B的同时得到answer。看看我正在写的考试系统模板

的级联查询界面:



         所以在写级联查询的时候,需要先加载开考的学院,然后根据学院ID,加载课程,并通过课程和题型的对应表

tr_coursemapname查询到课程和题型的映射名,显示到界面上。整个这套级联查询的逻辑就是这样的,所以下边就

是代码部分了!

        加载学院信息:

        html代码:

<select id="academy" class="easyui-combobox" name="state" style="width: 150px; margin-right: 100px;"@* 级联查询 *@url="/BuildTemplate/academy";valueField="id" textField="value" required="true" editable="false">
</select>
   

        controller代码:

public string academy(){ //测试所用的假数据List<Combox> comboxlist = new List<Combox>();Combox combox = new Combox();combox.id="123456";combox.value="经济学院";Combox combox1= new Combox();combox1.id="1456";combox1.value = "生科学院";Combox combox2 = new Combox();combox2.id="12346";combox2.value="数信学院";Combox combox3 = new Combox();combox3.id="12345";combox3.value="体育学院";comboxlist.Add(combox1);comboxlist.Add(combox2);comboxlist.Add(combox3);JavaScriptSerializer servializer = new JavaScriptSerializer();return servializer.Serialize(comboxlist);}
       

       这样就完成加载考试学院了,然后就是触发这个combobox,然后加载课程信息

       html代码:

@* 2.根据学院信息加载课程信息 *@课程:<select name="state" id="Course" class="easyui-combobox" style="width: 150px;"@* 级联查询 *@url="/BuildTemplate/test1";valueField="id" textField="value" required="true" editable="false"></select>

       controller代码:

//获取课程信息
public string Course(string val){String value = val;List<Combox> comboxlist = new List<Combox>();Combox combox = new Combox();combox.id = "1";combox.value = "数学";Combox combox1 = new Combox();combox1.id = "2";combox1.value = "汉语言文学";Combox combox2 = new Combox();combox2.id = "3";combox2.value = "大学英语";Combox combox3 = new Combox();combox3.id = "4";combox3.value = "大学体育";comboxlist.Add(combox1);comboxlist.Add(combox2);comboxlist.Add(combox3);JavaScriptSerializer servializer = new JavaScriptSerializer();return servializer.Serialize(comboxlist);}
               然后最重要的就是javascript了:

<script type="text/javascript">$(function () {var val="";var id = "";$('#academy').combobox({       //触发学院的select事件onSelect: function () { val = $('#academy').combobox('getValue');   //获取学院的id                $('#Course').combobox({valueField: 'id',textField: 'value',editable: false,url: '/BuildTemplate/Course?val=' + val,});}});$('#Course').combobox({   //触发课程的select事件onSelect: function () {id = $('#Course').combobox('getText');                $.ajax({type: "post",url: '/ConfigurationQue/QueryExamCourseName',async: false,data: { "courseid": id },dataType: 'json',success: function (data) {try {var coursename = data[0].ExamCourseName;$("#mapname").val(coursename);}catch (Exception) {alert("无映射名记录,请输入映射名!");$("#mapname").val("");$("#mapname").focus();}}});}})})
</script>
              然后就是通过课程ID加载映射名啦!

        controller代码:

public JsonResult mapname(String id){ String value = id;JsonResult js = new JsonResult();js.Data = value;return js;}


       这样整个级联查询就OK了!看看效果!





        当当当当!!!肿么样!是不是棒棒哒?!


这篇关于【ITOO考试系统】——级联查询的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1057606

相关文章

MySQL中between and的基本用法、范围查询示例详解

《MySQL中betweenand的基本用法、范围查询示例详解》BETWEENAND操作符在MySQL中用于选择在两个值之间的数据,包括边界值,它支持数值和日期类型,示例展示了如何使用BETWEEN... 目录一、between and语法二、使用示例2.1、betwphpeen and数值查询2.2、be

MyBatis-Plus使用动态表名分表查询的实现

《MyBatis-Plus使用动态表名分表查询的实现》本文主要介绍了MyBatis-Plus使用动态表名分表查询,主要是动态修改表名的几种常见场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录1. 引入依赖2. myBATis-plus配置3. TenantContext 类:租户上下文

MySQL基本表查询操作汇总之单表查询+多表操作大全

《MySQL基本表查询操作汇总之单表查询+多表操作大全》本文全面介绍了MySQL单表查询与多表操作的关键技术,包括基本语法、高级查询、表别名使用、多表连接及子查询等,并提供了丰富的实例,感兴趣的朋友跟... 目录一、单表查询整合(一)通用模版展示(二)举例说明(三)注意事项(四)Mapper简单举例简单查询

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE

springboot+mybatis一对多查询+懒加载实例

《springboot+mybatis一对多查询+懒加载实例》文章介绍了如何在SpringBoot和MyBatis中实现一对多查询的懒加载,通过配置MyBatis的`fetchType`属性,可以全局... 目录springboot+myBATis一对多查询+懒加载parent相关代码child 相关代码懒

C++简单日志系统实现代码示例

《C++简单日志系统实现代码示例》日志系统是成熟软件中的一个重要组成部分,其记录软件的使用和运行行为,方便事后进行故障分析、数据统计等,:本文主要介绍C++简单日志系统实现的相关资料,文中通过代码... 目录前言Util.hppLevel.hppLogMsg.hppFormat.hppSink.hppBuf

在DataGrip中操作MySQL完整流程步骤(从登录到数据查询)

《在DataGrip中操作MySQL完整流程步骤(从登录到数据查询)》DataGrip是JetBrains公司出品的一款现代化数据库管理工具,支持多种数据库系统,包括MySQL,:本文主要介绍在D... 目录前言一、登录 mysql 服务器1.1 打开 DataGrip 并添加数据源1.2 配置 MySQL

Go语言中如何进行数据库查询操作

《Go语言中如何进行数据库查询操作》在Go语言中,与数据库交互通常通过使用数据库驱动来实现,Go语言支持多种数据库,如MySQL、PostgreSQL、SQLite等,每种数据库都有其对应的官方或第三... 查询函数QueryRow和Query详细对比特性QueryRowQuery返回值数量1个:*sql

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

MyBatis Plus大数据量查询慢原因分析及解决

《MyBatisPlus大数据量查询慢原因分析及解决》大数据量查询慢常因全表扫描、分页不当、索引缺失、内存占用高及ORM开销,优化措施包括分页查询、流式读取、SQL优化、批处理、多数据源、结果集二次... 目录大数据量查询慢的常见原因优化方案高级方案配置调优监控与诊断总结大数据量查询慢的常见原因MyBAT