.NET / SQL中的参数表名称?
正如主题所示,我希望能够使用.NET传递表名称(无论使用哪种语言)和SQL Server.
我知道如何做这个值,例如command.Parameters.AddWithValue(“whatever”,无论如何)在查询中使用@whatever来表示参数.事情是我处于某种情况,我希望能够与查询的其他部分(如列和表名称)一起执行此操作. 这不是一个理想的情况,但它是我必须使用的,它不是真的很容易SQL注入,因为只有使用代码的人可以设置这些表名,而不是最终用户.这是凌乱的. 那么我正在询问可能吗? 编辑:要清楚SQL注入的意义,表名只能通过源代码传递,具体取决于具体情况.是指定这个的开发者.开发人员无论如何都可以访问数据库层,所以我问的原因不在于安全性,只是为了使代码更清洁. 解决方法我不认为我曾经看到过我所见过的任何SQL方言中的这种能力,但这不是专业领域.我建议将字符限制为AZ,az,0-9,’.’,’_’和” – 然后使用任何适当的包围数据库(例如,[SQL Server的相关信息])来包装整个事情.然后直接将它放在SQL中. 这不是完全清楚你不是一个SQL注入风险的意思 – 你的意思是名字将在源代码中,只有源代码?如果是这样,我同意让事情变得更好.您可能甚至不需要自动执行包围,如果您信任您的开发人员不要成为cretins(故意或不是). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |