Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript mssql更新字符串转义_Javascript_Sql Server - Fatal编程技术网

Javascript mssql更新字符串转义

Javascript mssql更新字符串转义,javascript,sql-server,Javascript,Sql Server,我试图更新mssql中的一些列,因此我构建了如下查询updatetestsetnotes='Hello',total=20,效果很好,当我尝试插入类似updatetestsetnotes='这是我的第一个注释'的内容时,问题就出现了,total=20问题是,由于第二个“我无法插入它。我试图将它替换到espace,通过regexvalue设置它\'。replace(/[(')]/gm,replace)它做了应该做的事情,但当我执行查询pool.request()时,它不起作用 包装 “mssql”

我试图更新mssql中的一些列,因此我构建了如下查询
updatetestsetnotes='Hello',total=20
,效果很好,当我尝试插入类似
updatetestsetnotes='这是我的第一个注释'的内容时,问题就出现了,total=20
问题是,由于第二个
我无法插入它。我试图将它替换到espace,通过regex
value设置它
\'
。replace(/[(')]/gm,replace)
它做了应该做的事情,但当我执行查询
pool.request()时,它不起作用

包装

“mssql”:“^6.2.1”
只是为了了解我是怎么做的

const myString={
第一个:异步()=>{
常数文件={
注释:“这是我的第一个注释”,
总数:20
}
常量str=[];
用于等待(对象项(doc)的常量[键,值]){
str.push(
`${key}='${typeof value==“string”?value.replace(/[('`)]/gm,replacer):value}'`
);
}
返回`updatetestset${str},其中id=10`
}
}
const query=await myString[first]();
//该查询类似于更新测试集Notes='it's my first note',total=20,其中id=10
等待pool.request().query(query).catch(console.error);
错误:

消息:“字符串“where id=10”后的未闭合引号。”

您应该将其替换为“”(双单引号,而不是双引号),而不是
\'
因此,您的替代者应该是:

replacer = '\'\''

因此,如果我有一个
我需要添加第二个?所以这个
“这是我的第一个注释”
应该看起来像这个
“这是我的第一个注释”
?是的,在mssql中你需要用两个单引号将它们括起来哦,对不起,遗漏了一点,你的实际查询看起来像是“\\\”附近的“
”语法不正确。“
,我在实现后得到了一个错误