logo
small logo
  • Producto
  • Comprar
  • Ayuda
  • Blogs
  • Consola de usarios Ayuda
    • en
    • pt
    • es
    • de
    • pl
    • JP
    • ZH
  • Página principal
  • /
  • Blogs
  • /
  • Cómo pasar una cadena de conexión en un informe web FastReport .NET
  • Cómo hacer herencia de informes en FastReport .NET

    29 de enero de 2021

    Cuando tiene la tarea de crear una gran cantidad de informes dentro de un estilo

    read more
  • Cómo establecer mediante programación la configuración predeterminada del cliente de correo electrónico para enviar correos electrónicos desde FastReport.NET

    12 de febrero de 2021

    Como muchos otros generadores de informes, FastReport .NET le permite enviar un informe por correo

    read more
  • Cómo crear y generar códigos de barras ITF-14 en aplicaciones .NET

    25 de febrero de 2021

    ITF-14 (Interleaved Two of Five) es un código numérico de dos bandas, también conocido como

    read more
  • Cómo actualizar el informe web FastReport.Core

    21 de septiembre de 2020

    A veces es necesario actualizar el informe, por ejemplo, si ingresa un nuevo valor de

    read more
  • Informes y documentos PDF en Blazor

    5 de abril de 2021

    Microsoft ha lanzado recientemente una plataforma web llamada Blazor. Este marco permite crear una interfaz

    read more

Cómo pasar una cadena de conexión en un informe web FastReport .NET

2 de mayo de 2020

A veces enfrento situaciones cuando tengo que configurar informes web a otra fuente de datos. Esta necesidad puede aparecer si el desarrollo del informe se ha realizado con el uso de una base de datos demo o cuando la base de datos ya tiene otro lugar. O quizás, al contrario, tengo que conectar un finrome a un conjunto de datos de test. De todas formas, la posibilidad de configurar la cadena de conexión es muy útil. Y hacerlo en FastReport .Net es muy fácil. Voy a explicárselo.

Vamos a tomar algunas aplicaciones ASP.Net Core en un ejemplo. Le recuerdo que nuestro objetivo es pasar una cadena de conexión a un informe desde el servidor del cliente. Se lo puede implementar de las dos siguientes maneras: pasar un parámetro a un informe y en el script del informe restablecer la cadena de conexión o restablecer la cadena de conexión directamente en el controlador de un informe web. La segunda es más racional, por lo cual es esta que voy a demostrarle.

En el controlador vamos a utilizar el método Index. Precisamente en este creamos un objeto de informe y establecemos una nueva cadena de conexión. Por lo tanto, el método tomará un parámetro, cadena de conexión.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class HomeController : Controller
 {
 public IActionResult Index(string connstring)
 {
 WebReport webReport = new WebReport();
 if (connstring is null)
 {
 webReport.Report.Load("reports/Empty.frx");
 }
 else
 {
 webReport.Report.Load("reports/Master-Detail.frx");
 webReport.Report.Dictionary.Connections[0].ConnectionString = connstring;
 }
 ViewBag.WebReport = webReport;
 return View();
 }
}

El método Index toma el parámetro connstring que desde el principio (al arrancar) equivale null. Para que el objeto del informe web no tenga errores al mostrar la pagína, hay que cargar en él un modelo de informe. Ya que no sabemos la cadena de conexión, dejemos que sea un modelo en blanco. Si la cadena de conexión está establecida, cargamos el modelo de informe que necesitamos y restablecemos en él la cadena de conexión. Todo es muy fácil.

Si el modelo de informe desde el principio no tiene conexión a una fuente de datos, podemos añadirla. Aquí tiene un ejemplo de cómo conectarse a un SGBD MSSQL:

1
2
3
4
5
6
RegisteredObjects.AddConnection(typeof(MsSqlDataConnection));
 MsSqlDataConnection sqlConnection = new MsSqlDataConnection();
 sqlConnection.ConnectionString = connstring;
 sqlConnection.CreateAllTables();
 webReport.Report.Dictionary.Connections.Add(sqlConnection);
 webReport.Report.Load("reports/CoreMSSQL.frx");

El método Index debe tener una representación correspondiente. Vamos a añadir a él el siguiente código::

1
2
3
4
5
6
7
8
@{
 ViewData["Title"] = "Home Page";
}
<form asp-controller="Home" asp-action="Index" method="post">
 <input type="text" name="connstring">
 <input type="submit" value="Click">
</form> 
@await ViewBag.WebReport.Render()

Aquí hemos utilizado un formulario que hace referencia al método Index. En esta hay un campo de texto con el nombre connstring y un botón. El contenido del campo de texto se pasa al método como parámetro.

Y ahora echemos un vistazo a lo que tenemos:

Al principio la cadena de conexión no está establecida, por lo tanto se ha cargado un modelo de informe en blanco. Introducimos la cadena de conexión para la base de datos XML:

«XsdFile=;XmlFile=C:\\Users\\Dimon\\source\\repos\\PassConnectionstring\\PassConnectionstring\\reports\\nwind.xml»

Y aquí tenemos el informe:

De este modo siempre puede econtrar una solución cuando el informe no puede conectarse a la fuente de datospor su indisponibilidad..

about product descargar comprar
avatar
Dmitriy Fedyashov
Technical Writer
Fast Reports Team: Dmitriy Fedyashov - Technical Writer at Fast Reports
.NET FastReport

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Comprar
  • Descargar
  • Documentación
  • Opiniones de usuarios
  • Cómo desinstalar nuestros productos
  • Enviar mensaje
  • FAQ
  • Toturial en vídeo
  • Foro
  • Documentación técnica
  • Nuestras noticias
  • Quiénes somos
  • Socios
  • Contactos

© 1998-2022 by Fast Reports Inc.

  • Privacidad