我想确保在使用 SqlCommand 时我正在使用最佳实践,尤其是在安全方面。
我不确定的考虑因素:
最佳答案
如果您的第一个问题是谈论通过直接包含值来构建 SQL,那几乎肯定是不行的。它使您面临 SQL 注入(inject)攻击以及转换问题(例如,必须获得正确的日期/时间格式)。
相反,您应该使用参数化查询,并在参数中设置值。请参阅 SqlCommand.Parameters
的文档例如。
出于兴趣,您是否有特殊原因直接使用 SQL 而不是使用周围的众多 ORM 之一? (LLBL、 Entity Framework 、NHibernate、LINQ to SQL、SubSonic、Massive、SimpleData、Dapper...)
关于c# - 使用 SqlCommand 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6863286/