博客
关于我
Web实战之VScode查询SQL server选课信息,输出表格
阅读量:734 次
发布时间:2019-03-21

本文共 2910 字,大约阅读时间需要 9 分钟。

实战记录:使用JavaScript与SQL Server实现大学生网上选课系统的功能扩展

引言

在技术实战系列中,我们将重点介绍如何使用 JavaScript 与 SQL Server 实现大学生网上选课系统的功能扩展。本节将详细讲解如何查询选课信息并实现扩课功能。

第一步:创建HTML表格

首先,我们需要在 HTML 文件中创建一个表格来展示课程信息。添加如下代码:

课程编号 课程名称 上课地点 学分 学期 核定人数 选课人数

第二步:建立与数据库的连接并执行查询

接下来,我们需要通过 JavaScript 连接到 SQL Server 并执行查询。添加以下脚本:

window.onload = function() {    //数据库连接配置    const conn = new ActiveXObject("ADODB.Connection");    const rs = new ActiveXObject("ADODB.Recordset");    const strDSN = "Driver={SQL Server};SERVER=DESKTOP-U4DC9JE;UID=sa;PWD=;DATABASE=school";    //查询语句    const sql = "SELECT id, count(sid) AS c, name, dd, xf, xq, rs FROM Course c1, Choose c2 WHERE c1.tid='0101' AND c1.tid=c2.tid AND c1.id=c2.cid GROUP BY id, name, dd, xf, xq, rs";    try {        conn.Open(strDSN);        rs.open(sql, conn);    } catch (e) {        alert(e.message);    }    //输出结果    let name = '';    let id = '';    let dd = '';    let xf = '';    let xq = '';    let rsh = '';    let count = '';    while (!rs.EOF) {        id = rs.Fields(1).Value;        name = rs.Fields(2).Value;        dd = rs.Fields(3).Value;        xf = rs.Fields(4).Value;        xq = rs.Fields(5).Value;        rsh = rs.Fields(6).Value;        count = rs.Fields('c').Value;        //创建新行        const newRow = document.getElementById('mytableBody').insertRow(1);        newRow.className = 'dataRow';        //添加单元格        newRow.appendChild(newRow.insertCell(0).innerHTML = ``);        newRow.appendChild(newRow.insertCell(1).innerHTML = ``);        newRow.appendChild(newRow.insertCell(2).innerHTML = ``);        newRow.appendChild(newRow.insertCell(3).innerHTML = ``);        newRow.appendChild(newRow.insertCell(4).innerHTML = ``);        newRow.appendChild(newRow.insertCell(5).innerHTML = ``);        newRow.appendChild(newRow.insertCell(6).innerHTML = ``);    }    rs.moveNext();}

第三步:实现扩课功能

为了实现扩课功能,我们需要添加一个按钮并在点击时调用相应的函数。在 HTML 中添加以下内容:

function add() {    const id = document.getElementById('id2').value;    const rise = document.getElementById('rise').value;    const j = parseInt(rise);    if (j > 0) {        const conn = new ActiveXObject("ADODB.Connection");        const strDSN = "Driver={SQL Server};瑟 ErlçraftSERVER=DESKTOP-U4DC9JE;UID=sa;PWD=mtch1997214;DATABASE=school";        try {            conn.Open(strDSN);            const sql = `UPDATE Course SET rs=rs + ${j} WHERE id='${id}'`;            const execute = conn.execute(sql);        } catch (e) {            alert(e.description);        }        alert("扩课操作成功,页面将自动刷新以显示更新");        location.reload();    } else {        alert("扩选人数必须大于0!");    }}

说明

以上代码实现了以下功能:

  • 通过 JavaScript 与 SQL Server 连接并执行查询,动态输出选课信息。
  • 提供了扩课功能,允许教师对特定课程的选课人数进行调整。
  • 在使用该系统时,请确保:

  • 数据库连接信息配置正确。
  • 扩课操作完成后手动刷新页面以确保数据更新。
  • 如果您在使用过程中遇到任何问题,请参考相关技术文档或联系系统管理员进行指导。

    转载地址:http://xsagz.baihongyu.com/

    你可能感兴趣的文章
    NAT-DDNS内网穿透技术,解决动态域名解析难题
    查看>>
    natapp搭建外网服务器
    查看>>
    NativePHP:使用PHP构建跨平台桌面应用的新框架
    查看>>
    nativescript(angular2)——ListView组件
    查看>>
    NativeWindow_01
    查看>>
    Native方式运行Fabric(非Docker方式)
    查看>>
    Nature | 电子学“超构器件”, 从零基础到精通,收藏这篇就够了!
    查看>>
    Nature和Science同时报道,新疆出土四千年前遗骸完成DNA测序,证实并非移民而是土著...
    查看>>
    Nature封面:只低一毫米,时间也会变慢!叶军团队首次在毫米尺度验证广义相对论...
    查看>>
    Nat、端口映射、内网穿透有什么区别?
    查看>>
    Nat、端口映射、内网穿透有什么区别?
    查看>>
    nat打洞原理和实现
    查看>>
    NAT技术
    查看>>
    NAT模式/路由模式/全路由模式 (转)
    查看>>
    NAT模式下虚拟机centOs和主机ping不通解决方法
    查看>>
    NAT的两种模式SNAT和DNAT,到底有啥区别?
    查看>>
    NAT的全然分析及其UDP穿透的全然解决方式
    查看>>
    NAT类型与NAT模型详解
    查看>>
    NAT网络地址转换配置实战
    查看>>
    NAT网络地址转换配置详解
    查看>>