我有一个网站,我试图将多个条形码添加到数据库。批量添加效果很好,除了我有一个“特殊”系列条形码,最后包含一个“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