Wie man eine Verbindungszeichenfolge in einen Webreport FastReport.NET übergeben kann

2020-05-02

Manchmal gibt es die Situation, in denen man einen Webreport zu einer anderen Datenquelle einrichten muss. Das kann notwendig sein, wenn der Bericht mit der Verwendung der Testdatenbank entwickelt wurde, oder eine Datenbank einfach an einen anderen Ort "verschoben" wurde. Oder vielleicht müssen Sie andersherum einen Bericht mit den Testdaten verbinden. Verschiedene Möglichkeiten sind zur neuen Konfiguration der Verbindungszeichenfolge sehr nützlich. In FastReport.Net geht das sehr einfach. Und ich werde Ihnen zeigen, wie man es macht.

Nehmen wir das Beispiel der ASP.Net Core-App. Ich möchte Sie daran erinnern, dass unsere Aufgabe darin besteht, vom Client-Teil zu der Verbindungszeile des Berichts zu übertragen. Es gibt zwei Möglichkeiten: übertragen Sie die Einstellung in den Bericht und im Berichtsskript, um die Verbindungszeile zu überschreiben, oder überschreiben Sie die Verbindungszeile direkt im Web-Controller der Anwendung. Der zweite Weg ist rationeller. Das werde ich Ihnen jetzt zeigen.

Der Controller wird das Indexierverfahren verwenden. Hier werden wir ein Bericht-Objekt erstellen und eine neue Verbindungszeichenfolge zuweisen. Daher wird das Verfahren einen Parameter entgegennehmen - die Verbindungszeichenfolge.

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();
 }
}

Das Indexierverfahren nimmt den Parameter Constring, der beim Start zunächst gleich Null ist. Damit ein Web-Objekt bei der Anzeige der Seite nicht mit Fehlern übersät ist, müssen Sie es in die Berichtsvorlage laden. Da die Verbindungszeichenfolge noch nicht bekannt ist, lassen Sie es eine leere Vorlage. Wenn die Verbindungszeichenfolge gesetzt ist, laden wir die gewünschte Berichtsvorlage und definieren sie in der Verbindungszeichenfolge neu. Alles ist sehr einfach.

Wenn die Berichtsvorlage zunächst keine Verbindung zur Datenquelle hat, können Sie sie hinzufügen. Hier ist ein Beispiel für die Verbindung zu einer Datenbank 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");

Das Indexierverfahren sollte eine entsprechende Ansicht haben. Fügen Sie den folgenden Code hinzu: 

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()

Hier haben wir ein Formular verwendet, das auf Das Indexierverfahren verweist. Es hat ein Textfeld mit dem Namen und der Schaltfläche "constring". Der Inhalt des Textfeldes wird als Parameter an das Verfahren übergeben.

Schauen wir uns jetzt an, was wir bekommen haben:

Zu Beginn war die Verbindungszeile nicht gesetzt, so dass die leere Berichtsvorlage hochgeladen wurde. Versuchen wir, die Verbindungszeile zur Xml-Datenbank einzugeben:

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

Nun erhalten wir den Bericht:

Auf diese Weise können Sie immer die Lösung zu einer Situation finden, in der der Bericht keine Verbindung zur Datenquelle herstellen kann, weil diese nicht zugänglich ist. 

12. August 2024

Erstellen und Installieren des Postgres-Plugins in FastReport .NET

In diesem Artikel wird beschrieben, wie Sie mit dem FastReport .NET-Plugin für den Berichtsdesigner aus Visual Studio über den NuGet-Server eine Verbindung zur Datenbank herstellen.
8. August 2024

Installation von FastReport .NET und ihren Komponenten unter Windows

Schritt für Schritt Anleitung zur Online- und manuellen Installation über den Registrierungscode FastReport .NET und seine Komponenten in Windows.
26. Juli 2024

Aktualisierung von HTMLObject als Plugin für FastReport .NET

Ausführliche Anleitung zur Verwendung des neuen HTMLObject-Plugins, das die Aufteilung des HTML-Doms in FastReport-Berichtsobjekte verwendet.
Fast Reports
  • 800-985-8986 (Englisch, die USA)
  • +4930568373928 (Deutsch)
  • +55 19 98147-8148 (Portugiesisch)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314

© 1998-2024 Fast Reports Inc.