2016-06-24 67 views
1

我在嘗試將字符串插入SQL Server表時遇到SQL RequestError。字符串是com.softek.ofxclmobile.patriotfcu。我認爲字符串中的時間段會引發某種紅旗,它是對某個對象某些屬性的引用,或者是沿着這些線條的某種屬性。我正在爲請求使用mssql節點模塊。如何避免SQL RequestError:「多部分標識符...無法綁定」?

let myObj = { 
    Date: '2015-06-22', 
    PackageName: 'com.softek.ofxclmobile.patriotfcu' 
} 

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.softek.ofxclmobile.patriotfcu" could not be bound.] 
    name: 'RequestError', 
    message: 'The multi-part identifier "com.softek.ofxclmobile.patriotfcu" could not be bound.', 
    code: 'EREQUEST', 
    number: 4104, 
    lineNumber: 1, 
    state: 1, 
    class: 16, 
    serverName: 'PFCUAPPDEV01', 
    procName: '' } 
+0

什麼是'請求'?發佈返回的* actual *錯誤消息。 –

+1

您需要在SQL語句中引用您的字符串,您應該使用準備/參數化插入來避免這種情況並防止注入攻擊。 –

+0

現在附上實際錯誤。 – AmishJohn81

回答

2

您可以使用雙引號括起SQL

request.query("insert into myTable ([DATE],[PackageName]) values ('" + date + "','" + pName + "')") 

爲安全起見,您可能需要使用兩個單引號

替換PNAME任何單引號
+0

謝謝!這似乎解決了這個問題! – AmishJohn81

+0

樂於助人。乾杯 –

相關問題