Colin,
Mientras esté el único un paso su app DONDE cláusula, después usted es probablemente razonablemente seguro. La edición no es su código, aunque. Las inyecciones del SQL no son normalmente la clase de cosa que el revelador se incorpora a su app pero, algo, a la clase de cosa que una cierta alma malévola que tropieza sobre su base de datos hace fuera de meanness puro.
Quizás, en vez del paso DONDE la cláusula, usted pudo querer considerar pasar los varios parámetros que fueron seleccionados para el informe. Usted podría pasar los valores NULOS para los parámetros no seleccionados, si se da el caso. Entonces, dentro del SP, ejecutar sus actualizaciones basadas sobre los parámetros en vez sobre de la “magia donde cláusula”. Usando los parámetros, usted puede imposibilitar el ataque de la inyección (sobre todo porque causaría una declaración de SQL inválida en vez apenas de la ejecución.)
Todo lo que estoy precisando es que la técnica usted está utilizando (o está intentando utilizar) es intrínsecamente inseguro y debe nunca ser una parte de un uso de base de datos de la producción. Viola las reglas de todas las “mejores prácticas sabidas”.