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. 

.NET .NET FastReport FastReport
22. Juni 2026

So konfigurieren Sie einen Bericht mit Business Objects im Code und im FastReport .NET Designer

In diesem Artikel wird anhand eines praxisnahen Beispiels gezeigt, wie Sie eine .frx-Berichtsvorlage erstellen und verwenden, die mit hierarchischen Business Objects in FastReport .NET herzustellen.
28. April 2026

Neues Berichtsvalidierungssystem in FastReport VCL

In diesem Artikel erklären wir, wie die Berichtsprüfung funktioniert, wie sie konfiguriert wird, wie Sie eigene Regeln anhand von Beispielen erstellen und geben Einblicke in interessante Neuerungen.
21. April 2026

Verwendung von Wasserzeichen in FastReport VCL

Der Artikel hat die Funktionalität zum Hinzufügen von Wasserzeichen in FastReport VCL ausführlich behandelt – sowohl über die visuelle Oberfläche als auch programmgesteuert mit Delphi-Code und in Berichtsskripten.

© 1998-2026 Fast Reports Inc.