正如主题所示,我希望能够使用.NET(实际上与哪种语言无关)和SQL Server将表名作为参数传递.
我知道如何为值,例如做这个command.Parameters.AddWithValue("whatever", whatever)用@whatever在查询中表示参数.问题是我希望能够在查询的其他部分(例如列和表名)中执行此操作.
这不是一个理想的情况,但它是我必须使用的,它不太容易SQL注入,因为只有使用代码的人可以设置这些表名而不是最终用户.但它很乱.
那么,我问的可能是什么?
编辑:为了明确说明SQL注入,表格名称仅由源代码传递,具体取决于具体情况.开发人员指定了这一点.开发人员无论如何都可以访问数据库层,所以我问的原因不是安全性,而是为了使代码更清晰.