我有一個網站,我試圖將多個條形碼添加到數據庫。批量添加效果很好,除了我有一個「特殊」系列條形碼,最後包含一個「F」。這表示要調用插入書籍的不同存儲過程。然而,每當我嘗試運行它時,我都會得到一個SQL錯誤。條形碼末尾的F是問題。如果我試圖添加1000 - 1005它工作正常。如果我做1000F - 1005F它不會因爲我的SQL不知道與F做什麼...如何搜索特定值的用戶輸入
1
A
回答
0
看起來不像你在單引號包裹的條形碼
試試這個:第一MySQL已經包裹在'
這是假設usp_Insert_Encrypted文本正在採取串
Dim mySQL as String
if InStr(x_sBarcode.Text, "F") > 1 then 'Encrypted Coupon Books
mySQL= "EXEC usp_Insert_Encrypted '" & x_sBarCode.Text & "','" & x_sBarCodeSeriesEnd.Text & "'," & v_lBookTypeId
''---------------------------------^-----------------------^--^--------------------------------^
Response.Write(mySQL)
else
mySQL = "EXEC sp_BulkInsert 1," & x_sBarCode.Text & "," & x_sBarCode.Text & "," & x_sBarCodeSeriesEnd.Text
end if
UPDATE:
增加了一些---- ^指着什麼我意指關於'
您有:
mySQL= "EXEC usp_Insert_Encrypted " & x_sBarCode.Text & "," & x_sBarCodeSeriesEnd.Text & "," & v_lBookTypeId
凡可能會需要是:(假設第2個參數是文本和最後一個是integet
mySQL= "EXEC usp_Insert_Encrypted '" & x_sBarCode.Text & "','" & x_sBarCodeSeriesEnd.Text & "'," & v_lBookTypeId
''--------------------------^-----------------------^--^--------------------------------^
1
首先你打開sql注入的代碼,你應該儘快糾正這個問題。 你可以閱讀有關SQL注入的位置:
http://msdn.microsoft.com/en-us/library/ff648339.aspx
現在你的問題。我幾乎可以肯定你在設置mySQL時缺少了字符。 使用SqlCommand以安全的方式傳遞參數。提供的鏈接中也描述了傳遞參數。
相關問題
- 1. 如何將用戶輸入的搜索值作爲參考
- 2. 如何基於用戶輸入的搜索值過濾行
- 3. 防止用戶在搜索欄上輸入特定字符
- 4. 如何減去特定表格值中的用戶輸入值?
- 5. 如何搜索parse.com中的特定值?
- 6. 如何搜索Firebase DB的特定值?
- 7. 搜索特定值
- 8. 從用戶輸入中搜索用戶
- 9. 如何如果用戶輸入匹配特定值?
- 10. 如何防止用戶使用JQuery輸入特定值?
- 11. 如何跟蹤用戶輸入特定輸入的次數?
- 12. MongoDB搜索的用戶輸入
- 13. 搜索特定的用戶表
- 14. iMacros的搜索特定用戶
- 15. 用戶特定的Lucene搜索
- 16. 使用用戶輸入搜索數組
- 17. 硒python webdriver,定位搜索欄,輸入值和搜索
- 18. python xlwt - 搜索特定值
- 19. C++搜索特定值
- 20. 搜索特定的搜索根據用戶類型
- 21. ArrayList中搜索與用戶輸入
- 22. winforms listbox和搜索用戶輸入
- 23. 搜索通過表用戶輸入
- 24. 從用戶輸入搜索文件
- 25. 用戶輸入.txt文件搜索C
- 26. 如何限制使用Google自定義搜索時的搜索輸入的widow
- 27. 如何讓用戶的文本輸入在谷歌搜索
- 28. 如何獲得用戶在搜索欄中輸入的文本?
- 29. 如何創建一個用戶輸入的查詢搜索
- 30. 如何在Javascript中搜索用戶輸入的字符串
您能否向我們展示條碼實際包含的內容?想知道如果有一個特殊的字符 – Darren
我想我找到了問題......但不知道如何解決它或應用它...我正在做一個批量添加...所以讓我說我想添加... 30F - 50F當我在「結束條形碼」中輸入50F時,它試圖做數學運算(30f-50F)因爲它不能減去字母......它會出現一個SQL錯誤...如何檢查時是否將條形碼參數中的「F」去掉?我將在上面編輯我的代碼... – Shmewnix
那麼,您的實際錯誤消息得到的問題已在下面得到解答,您在sproc調用的字符串部分周圍缺少'。如果你想刪除F,那麼你可以做很多事情之一,如dim txt = x_sBarCode.Text.Replace(「F」,「」)。看起來像一個不同的問題,但?除非我失去了一些東西? – Darren