La mayoría de los usuarios de FastReport.Net crean informes recibiendo datos de SQL DBMS. Les gustaría aprovechar SQL en sus informes. Nada le impide utilizar consultas dinámicas, procedimientos almacenados y funciones. En este artículo vamos a echar un vistazo a cómo utilizar consultas dinámicas a la hora de crear una fuente de datos de informe.
Este tipo de consulta se utiliza para evitar las limitaciones sintácticas del lenguaje SQL. Pero estas consultas pueden requerir más tiempo por un plan de consulta no óptimo. Además, la seguridad se debe organizar de otra manera. Pero es otro tema. Las consultas dinámicas son cómodas, por lo cual las queremos utilizar en FastReport.
Vamos a echar un vistazo a este ejemplo. Supongamos que quiere filtrar los datos antes de que el informe se muestre. Parece que todo es bastante simple. Pero, ¿si quiere cambiar el campo en el que se filtrarán los datos? Utilizando una consulta dinámica, puede añadir variables al cuerpo de la consulta. Uno de ello es el nombre del campo para imponer la condicion, mientras que el segundo es el valor de este campo.
Cree un informe. Previamente, tenemos que crear dos parámetros de informe. Añada ParamName y ParamValue del tipo cadena. Ahora cree una conexión a la base de datos. Nos conectamos al servidor SQL:
En la fase de seleccionar tablas, haga clic en el botón . Este arranca el asistente para la instalación.
Especifique el nombre de la futura tabla y haga clic en Next.
Introducimos una consulta dinámica a mano. Esta consulta tiene dos parámetros: @ Param1 es el nombre del campo, @ Param2 es el valor del campo. Aquí puede añadir el tercer parámetro, el signo de la operación ( =, in, <, >, <, >).
Pero nos vamos a limitar por dos. Como la consulta se representa como un valor de texto, utilizamos el operador Execute. Haga clic en el botón Next.
En la ventana de definir parámetros creamos dos parámetros con los mismos nombres que en la consulta SQL. Hay que indicar Expression. Para el primer parámetro es [ParamName], y para el segundo,[ParamValue]. Como ha adivinado son los nombres de los parámetros del informe que hemos ccreado anteriormente. Pulse el botón Finish.
Aquí tenemos la fuente de datos:
Arrastre los campos desde la tabla Product a los datos de la banda.
Y ahora vamos a añadir un formulario de diálogo. Arrastre dos parámetros desde la ventana Data a este.
Ahora podemos especificar el nombre del campo y su valor para filtrar el modelo. Arranque el informe.
Especifique los valores de los parámetros y haga clic en Ok.
Y obtenemos los registros que necesitamos. En nuestro caso, solo uno. Vamos a intentar filtrar el informe en un campo diferente. Arranque el informe de nuevo.
Y el resultado:
De esta manera, puede utilizar consultas dinámicas de ayuda para evitar códigos o ajustes innecesarios. Y si trabaja con una gran cantidad de datos, puede acelerar la velocidad de generar informes evitando datos innecesarios en la fase de obtenerlos..