博客
关于我
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/

    你可能感兴趣的文章
    MySQL 有什么优点?
    查看>>
    mysql 权限整理记录
    查看>>
    mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
    查看>>
    MYSQL 查看最大连接数和修改最大连接数
    查看>>
    MySQL 查看有哪些表
    查看>>
    mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
    查看>>
    MySql 查询以逗号分隔的字符串的方法(正则)
    查看>>
    MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
    查看>>
    mysql 查询,正数降序排序,负数升序排序
    查看>>
    MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
    查看>>
    mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
    查看>>
    mysql 死锁(先delete 后insert)日志分析
    查看>>
    MySQL 死锁了,怎么办?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>
    MySQL 深度分页性能急剧下降,该如何优化?
    查看>>
    MySQL 添加列,修改列,删除列
    查看>>
    mysql 添加索引
    查看>>
    MySQL 添加索引,删除索引及其用法
    查看>>
    MySQL 用 limit 为什么会影响性能?
    查看>>
    MySQL 用 limit 为什么会影响性能?有什么优化方案?
    查看>>