【发布时间】:2012-06-07 07:02:23
【问题描述】:
Dim tbl as String = Request.QueryString("tb") 'tb value = User
Dim sql As String = "Select * From @table Where @Col = @ColVal"
Dim para As New SqlParameter
para.ParameterName = "table"
para.Value = tbl
Dim paraArray1 As New SqlParameter
paraArray1.ParameterName = "@Col"
paraArray1.Value = "Name"
Dim paraArray2 As New SqlParameter
paraArray2.ParameterName = "@ColVal"
paraArray2.Value = "Stephen"
当我尝试使用 DbDataAdapter 运行“sql”命令时,它给了我这个错误
必须声明表变量“@table”。说明:未处理 执行当前 Web 请求期间发生异常。 请查看堆栈跟踪以获取有关错误的更多信息和 它起源于代码的地方。
异常详细信息:System.Data.SqlClient.SqlException:必须声明 表变量“@table”。
请建议我应该怎么做才能以给定的表名作为参数运行 sql 并避免 sql 注入。非常感谢!
【问题讨论】: