node.js - 准备好的查询的 Node.js SQL Server 单引号问题
问题描述
我正在尝试使用 node.js 从 SQL Server 数据库中提取数据,并将数据传递给 Google Chatbot。
这就是我的 SQL Server 查询的样子
INSERT INTO @Return
SELECT 'You' + '\' + 've assigned ' + CONVERT(varchar(4), COUNT(1)) + ' to yourself'
这是将数据发送到 Google Chatbot 的功能。
function GbWebhookFunction(){
this.sendMessage = async function(strMessage){
console.log(strMessage);
fetch(webhookURL, {
method: 'POST',
headers: {
'Content-Type': 'application/json; charset=UTF-8',
},
body: "{'text': '" + strMessage + "'}",
}).then((response) => {
console.log(response);
});
};
};
这输出:
You\ve assigned X to yourself
我试图将下面的代码添加到我的函数中,但这不起作用。
strMessage = strMessage.replace("\", "'");
我\
从我的 SQL 查询中删除了一个,但输出的是:
Youe assigned X to yourself
关于如何\
用单引号替换的任何想法?
解决方案
在您的查询中,您忘记添加单引号。查询应该很可能是
INSERT INTO @Return
SELECT 'You\'ve assigned ' + CONVERT(varchar(4), COUNT(1)) + ' to yourself'
编辑
基于一些提供的错误,我建议使用双单引号。这意味着 SQL 查询应如下所示:
INSERT INTO @Return
SELECT 'You''ve assigned ' + CONVERT(varchar(4), COUNT(1)) + ' to yourself'
推荐阅读
- python - 我想访问清洗后得到的数据,然后存储到另一个数据帧中
- java - 如何在连贯中序列化枚举
- python - python将SIGINT转发到子进程
- google-colaboratory - RuntimeError:混合不同的 tf.distribute.Strategy 对象
- java - 无法为休眠项目创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
- spring-boot - Thymeleaf-Spring 靴子
- javascript - Vue / JS 指令事件 Llisterner 抽象
- gams-math - 如何在 GAMS Studio 中设置许可证?
- javascript - 检测“MediaElementAudioSource 是否由于 http 的 CORS 访问限制而输出零...”
- javascript - 使用 Vue.js 和 Laravel 将复选框设置为选中状态