logo
small logo
  • Produkte
  • Shop
  • Support
  • Über uns
  • Customer panel Support
    • en
    • de
    • JP
    • ZH
  • Home
  • /
  • Articles
  • /
  • Wie man eine Verbindungszeichenfolge in einen Webreport FastReport.NET übergeben kann
  • FastReport.NET packages and .NET 5.0

    17. Dezember 2020

    UPD: Gilt für die Versionen von FastReport .NET vor 2022.2. Lizenzpakete sind jetzt auf unserem

    read more
  • Wie ein WebReport-Objekt in FastReport.Core aktualisieren

    21. September 2020

    Manchmal gibt es eine Aufgabe, den Report zu aktualisieren, z. B. wenn Sie einen neuen

    read more
  • Die Events PreviewControl.OnPrint und PreviewControl.OnExport

    1. Oktober 2020

    FastReport 2019.4 bietet eine Möglichkeit, die Events PreviewControl.OnPrint und PreviewControl.OnExport zu steuern, die direkt aufgerufen

    read more
  • MS Word versus Open Document Text. Was ist besser?

    19. Oktober 2020

    Wenn wir von Texteditoren sprechen, stellen wir uns die Leuchte sofort als Microsoft Word vor,

    read more
  • Wollten Sie Tabellen für den Benutzer generieren - Excel oder OpenOffice Calc?

    8. Oktober 2020

    Tabellen. Seit Jahrhunderten werden sie verwendet, um dieselbe Art von Daten für Buchhaltungszwecke, Zählbeträge und

    read more

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

2. Mai 2020

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. 

about product buy
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
  • Shop
  • Download
  • Dokumentation
  • Referenzen
  • Informationen zur Deinstallation unserer Produkte
  • FAQ
  • Tutorial Video
  • Forum
  • Support SLA
  • Articles
  • Unsere Nachrichten
  • Presse über uns
  • Partner
  • Partner program
  • Kontakte

© 1998-2023 by Fast Reports Inc.

  • Datenschutz
  • Cookies Policy

Trustpilot
By clicking “Accept all, you agree Fast Reports can store cookies on your device and disclose information in accordance with our Cookie Policy.