0
我在两个不同的表用户表和带表创建一个问题查询:加入查询VB.net DataReader的
cmd.CommandText = "SELECT zone_name, zone_difference FROM user_master INNER JOIN zones on user_master.zone_id = zones.ID WHERE user_master.uname LIKE " & """" & usr_gl & """"
Dim reader_q As OleDbDataReader
reader_q = cmd.ExecuteReader()
这里,区域名称和差异是由区表和zone_id(顾客)和ID (区域)有关系,用户名(uname)也是来自外部,例如usr_gl变量“admin”
这是说没有给出一个或两个参数的值。我检查了所有的表格列和数据。相同的查询独立于Access数据库运行。
我在这里执行有什么问题吗?
'usr_gl'的运行时值可能是将参数语法元素注入查询并混淆查询解析器?即使您认为您可以控制输入值,使用类似字符串连接来构建数据库查询也是非常危险的。如果您修复SQL注入漏洞并使用参数化查询,问题是否会持续存在? – David 2013-05-14 12:23:10