当前位置: 首页 > article >正文

node + express 学生信息管理

api/db.js

const mysql = require("mysql");

const connection = mysql.createConnection({
   
  host: "localhost",
  user: "root",
  password: "123456",
  database: "school2",
});

connection.connect();

// 根据登录和密码查询用户信息
module.exports.selectByNameAndPwd = function (loginName, pwd, callback) {
   
  var sql = `select * from student where LoginName='${
     loginName}' and LoginPwd='${
     pwd}'`;
  connection.query(sql, function (err, data) {
   
    if (err) {
   
      callback(err);
    } else {
   
      callback(data);
    }
  });
};

// 根据用户姓名或登录名查询用户信息
module.exports.selectByCondtion = function (name, callback) {
   
  var sql = `select * from student where Sname like '%${
     name}%' or LoginName like '%${
     name}%'`;
  connection.query(sql, function (err, data) {
   
    if (err) {
   
      callback(err);
    } else {
   
      callback(data);
    }
  });
};

// 根据用户Sno删除用户信息
module.exports.deleteBySno = function (sno, callback) {
   
  var sql = `delete from student where Sno='${
     sno}'`;
  connection.query(sql, function (err, data) {
   
    if (err) {
   
      callback(err);
    } else {
   
      callback(data);
    }
  });
};

// 根据Sno查询用户信息
module.exports.selectBySno = function (sno, callback) {
   
  var sql = `select * from student where Sno = '${
     sno}'`;
  connection.query(sql, function (err, data) {
   
    if (err) {
   
      callback(err);
    } else {
   
      callback(data);
    }
  });
};

// 根据用户Sno编辑用户信息和新增用户信息
module.exports.addAndUpdateBySno = function (sno, student, callback) {
   
  if (sno == -1) {
   
    var sql = `insert into student values('${
     student.Sno}','${
     student.Sname}',${
     student.Sage},'${
     student.Ssex}','${
     student.loginName}','${
     student.loginPwd}')`;
  } else {
   
    sql = `update student set Sno='${
     student.Sno}',Sname='${
     student.Sname}',Sage=${
     student.Sage},Ssex='${
     student.Ssex}',LoginName='${
     student.loginName}',LoginPwd='${
     student.loginPwd}' where Sno='${
     sno}'`;
  }
  connection.query(sql, function (err, data) {
   
    if (err) {
   
      callback(err);
    } else {
   
      callback(data);
    }
  });
};

api/http.js

const express = require("express");
const app = new express();
const cors = require("cors");
const db = require("./db");

app.use(cors());

app.all("*", function (req, res, next) {
   
  res.setHeader("Access-Control-Allow-Origin", "*");
  next();
});

// 根据登录和密码查询用户信息
app.get("/student/selectByNameAndPwd", function (req, res) {
   
  db.selectByNameAndPwd(
    req.query.loginName,
    req.query.loginPwd,
    function (data) {
   
      if (data.length > 0) {
   
        res.json({
    status: 1, msg: "登录成功", data: data });
      } else {
   
        res.json({
    status: 0, msg: "登录失败", data: data });
      }
    }
  );
});

// 根据用户姓名或登录名查询用户信息
app.get("/student/selectByCondtion", function (

http://www.kler.cn/a/227728.html

相关文章:

  • MongoDB复制集实战及原理分析
  • JAVA后端上传图片至企微临时素材
  • C语言如何认识 printf()函数的格式字符?
  • 车载测试Vector工具CANape——常见问题汇总(上)
  • hdf5文件node name长度可以支持多长?
  • Tailwind CSS
  • 第十二篇【传奇开心果系列】Python的OpenCV技术点案例示例:视频流处理
  • 代码随想录训练营第三十四天|860.柠檬水找零406.根据身高重建队列
  • 蓝桥杯刷题day05——2023
  • Leetcode刷题笔记题解(C++):99. 恢复二叉搜索树
  • 【QT+QGIS跨平台编译】之二十:【xerces+Qt跨平台编译】(一套代码、一套框架,跨平台编译)
  • 寒假 day1
  • 实时聊天系统
  • 网络原理TCP/IP(4)
  • 老版本labelme如何不保存imagedata
  • 【TCP】四次挥手(终止连接)
  • Logback学习
  • 新手从零开始学习数学建模论文写作(美赛论文临时抱佛脚篇)
  • 修改MFC图标
  • 每日一练 | 华为认证真题练习Day178