我得到一个SQL RequestError,而试图插入一个字符串到SQL Server表。字符串为com.redacted.redacted.redacted
。我认为字符串中的句号在抛出某种危险信号,它是对一个对象的某些属性的引用,或者沿着这条线。我正在使用mssql节点模块的请求。
let myObj = {
Date: '2015-06-22',
PackageName: 'com.redacted.redacted.redacted'
}
let date = myObj['Date']
let pName = myObj['PackageName']
request.query('insert into myTable ([DATE],[PackageName]) values (' + date + ',' + pName + '))
我没有在网上找到任何关于试图避免使用点符号的东西,但我发现了一些相反的东西,试图进入符号。我也看了,但没有RegExp关键字来保持一个周期字面上的周期。
准确错误:
REQ ERROR
{ [RequestError: The multi-part identifier "com.redacted.redacted.redacted" could not be bound.]
name: 'RequestError',
message: 'The multi-part identifier "com.redacted.redacted.redacted" could not be bound.',
code: 'EREQUEST',
number: 4104,
lineNumber: 1,
state: 1,
class: 16,
serverName: 'REDACTED',
procName: '' }
可不可以用双引号来括sql
request.query("insert into myTable ([DATE],[PackageName]) values ('" + date + "','" + pName + "')")
为了安全起见,您可能需要将pName中的任何单引号替换为两个单引号