Javascript mssql更新字符串转义
我试图更新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”
updatetestsetnotes='Hello',total=20
,效果很好,当我尝试插入类似updatetestsetnotes='这是我的第一个注释'的内容时,问题就出现了,total=20
问题是,由于第二个“
我无法插入它。我试图将它替换到espace,通过regexvalue设置它\'
。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中你需要用两个单引号将它们括起来哦,对不起,遗漏了一点,你的实际查询看起来像是“\\\”附近的“”语法不正确。“
,我在实现后得到了一个错误