ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 639|回复: 13

WPS JSA连接mysql查询用户表字段用于验证登录账号信息

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-12-14 21:29 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
jsaConnectDB.png


如图想通过控件实现连接mysql数据库查询验证登录账号,有没大佬指点下实现思路和示例,非常感谢!

TA的精华主题

TA的得分主题

发表于 2023-12-14 21:33 来自手机 | 显示全部楼层
可以通过xmlhttp连接webservice避免直接连接数据库

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-12-14 21:41 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
zpy2 发表于 2023-12-14 21:33
可以通过xmlhttp连接webservice避免直接连接数据库

感谢,有思路了,我再去“文心一言”查下代码示例

TA的精华主题

TA的得分主题

发表于 2023-12-15 14:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
实现后请楼主分享下

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-12-16 20:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
1、参照另一篇帖子安装了WPS的jsEvaluator的xll插件【扩展JSA访问ActvieX和Com组件的能力】后,同时安装Mysql8.0.12及ODBC驱动,建立了一个用户表并插入了2条记录用于查询
2、按照下图连接mysq及查询,但输出的结果不对,大神们帮看看是哪的问题?谢谢
jsaConnectDB2.png

mysqlQuery.png

TA的精华主题

TA的得分主题

发表于 2023-12-17 22:49 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Excel不适合用来开发管理系统,我能想到的就是用加载项、或者用express框架写接口然后通过http请求拿到数据

//
// 使用express搭建web服务器的前提条件是电脑中已经安装nodejs
// 之后进入到项目终端输入:npm i express
//                     npm i mysql2安装所需要用到的包
//
//用express搭建服务器并连接数据库的详细步骤如下
//首先新建一个后缀名为.js的文件
//1、引入express包,抛出的db/index.js包
const express=require('express');
const db=require('./db/index.js')
//2、实例化express对象
const app= express();
//3、开启端口进行监听发送过来的请求:包含端口号,和一个回调函数用于告知服务器是否启动成功
app.listen( 3000 , () => {
        console.log("服务器已经成功启动,并在http://127.0.0.1:3000/上运行")
})
//4、接下来就是根据发送过来的路由请求进行处理并相应
app.get('/login',(req,res)=>{
        res.send("ok")
})

//5、查——————————————————————————————————————————————————————————————————————————————————
app.get("/infor", (req, res) => {
  // 定义sql语句:意思为查询test表
  const sql = "select * from test";
  // 执行sql语句
  db.query(sql, (err, result) => {
    // 执行失败
    if (err) {
      return res.send({ state: 1, message: err });
    }
        //执行成功后返回,表中的数据
    return res.send({ state: 0, message: "查询成功", data: result });
  });
});

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-12-17 22:55 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Excel不适合用来开发管理系统,我能想到的就是用加载项、或者用express框架写接口然后通过http请求拿到数据
用express写接口可以用文言一心
//
// 使用express搭建web服务器的前提条件是电脑中已经安装nodejs
// 之后进入到项目终端输入:npm i express
//                     npm i mysql2安装所需要用到的包
//
//用express搭建服务器并连接数据库的详细步骤如下
//首先新建一个后缀名为.js的文件
//1、引入express包,抛出的db/index.js包
const express=require('express');
const db=require('./db/index.js')
//2、实例化express对象
const app= express();
//3、开启端口进行监听发送过来的请求:包含端口号,和一个回调函数用于告知服务器是否启动成功
app.listen( 3000 , () => {
        console.log("服务器已经成功启动,并在http://127.0.0.1:3000/上运行")
})
//4、接下来就是根据发送过来的路由请求进行处理并相应
app.get('/login',(req,res)=>{
        res.send("ok")
})

//5、查——————————————————————————————————————————————————————————————————————————————————
app.get("/infor", (req, res) => {
  // 定义sql语句:意思为查询test表
  const sql = "select * from test";
  // 执行sql语句
  db.query(sql, (err, result) => {
    // 执行失败
    if (err) {
      return res.send({ state: 1, message: err });
    }
        //执行成功后返回,表中的数据
    return res.send({ state: 0, message: "查询成功", data: result });
  });
});

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-12-18 08:37 来自手机 | 显示全部楼层
仙女配凡人 发表于 2023-12-17 22:55
Excel不适合用来开发管理系统,我能想到的就是用加载项、或者用express框架写接口然后通过http请求拿到数据 ...

对的,web方式比较方便

TA的精华主题

TA的得分主题

发表于 2023-12-18 12:18 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
7楼复制错了,连接mysql的代码在这里
//
//在目录下新建文件夹db,db目录下新建文件index.js
//
//然后将是引入mysql的详细步骤
//
//
// 1、引入mysql
const mysql = require("mysql");
// 2、建立一个连接池
const db = mysql.createPool({
  host: "127.0.0.1", // 数据库的IP地址(本地的或者是云服务器的都可以)
  user: "root",//用户名
  password: "654321",
  database: "sqltest", //指定要操作哪个数据库
});


// 检测数据库是否连接成功
// db.query("select 1", (err, results) => {
//   if (err) return console.log(err);
//   console.log(results);
// });
//如果能打印出[ RowDataPacket { '1': 1 } ]代表连接数据库成功


// 将文件暴露出去
module.exports = db

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-12-19 10:57 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 yttoeq 于 2023-12-19 13:45 编辑
仙女配凡人 发表于 2023-12-18 12:18
7楼复制错了,连接mysql的代码在这里
//
//在目录下新建文件夹db,db目录下新建文件index.js

image.png    demo1.gif

如图通过XMLHttpRequest+webservice(PHP)实现读取验证用户表信息,通过后调用UserForm,代码如下供参考:


function CommandButton2_Click()
{

var xhr = new XMLHttpRequest();
var url = "http://localhost/test1/query.php";   
xhr.open("GET", url, true);
xhr.send(null);

xhr.onreadystatechange = function() {  
  if (xhr.readyState === 4 && xhr.status === 200) {  
    // 处理响应数据  
    var responseData = JSON.parse(xhr.responseText); // 获取响应文本

         var value = responseData[0].un;
         var value1 = responseData[0].pw;
//     Console.log(value);
//     Console.log(value1);
   
    //判断用户名和密码是否正确
    if(TextEdit1.Value === responseData[0].un && TextEdit2.Value === responseData[0].pw){
            alert('你好:'+ value + ' ,欢迎登录');
            UserForm2.Show();
    }else{
            alert('用户名或密码不正确,请重新输入!');
    }

  }
}
        
}

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-21 23:15 , Processed in 0.041040 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表