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

    你可能感兴趣的文章
    Openlayers高级交互(18/20):根据feature,将图形适配到最可视化窗口
    查看>>
    Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
    查看>>
    Openlayers高级交互(2/20):清除所有图层的有效方法
    查看>>
    Openlayers高级交互(20/20):超级数据聚合,页面不再混乱
    查看>>
    Openlayers高级交互(3/20):动态添加 layer 到 layerGroup,并动态删除
    查看>>
    Openlayers高级交互(4/20):手绘多边形,导出KML文件,可以自定义name和style
    查看>>
    Openlayers高级交互(5/20):右键点击,获取该点下多个图层的feature信息
    查看>>
    Openlayers高级交互(6/20):绘制某点,判断它是否在一个电子围栏内
    查看>>
    Openlayers高级交互(7/20):点击某点弹出窗口,自动播放视频
    查看>>
    Openlayers高级交互(8/20):选取feature,平移feature
    查看>>
    Openlayers高级交互(9/20):编辑图形(放缩、平移、变形、旋转),停止编辑
    查看>>
    Openlayers:DMS-DD坐标形式互相转换
    查看>>
    openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
    查看>>
    OpenLDAP(2.4.3x)服务器搭建及配置说明
    查看>>
    OpenLDAP编译安装及配置
    查看>>
    Openmax IL (二)Android多媒体编解码Component
    查看>>
    OpenMCU(一):STM32F407 FreeRTOS移植
    查看>>
    OpenMCU(三):STM32F103 FreeRTOS移植
    查看>>
    OpenMCU(三):STM32F103 FreeRTOS移植
    查看>>
    OpenMCU(二):GD32E23xx FreeRTOS移植
    查看>>