Der folgende Inhalt ist der Programmcode:
Bevor wir uns mit Crystal Reports in VS.Net befassten, waren mein Freund und ich sehr neugierig, wie wir dieses komplizierte Zeug zu unserer Webanwendung hinzufügen können. Eine Woche später, nachdem wir viele „HOWTO“-Dokumente gelesen hatten, fügten wir erfolgreich einige einfache Berichte zu unserem Asp.net-Programm hinzu und bekamen einige Tipps.
Dieser Artikel vermittelt Ihnen den Umgang mit Crystal Reports in .Net-Webanwendungen und kann Ihnen dabei helfen, Umwege im Lernprozess zu vermeiden. Um die besten Ergebnisse zu erzielen, sollten die Leser über Grundkenntnisse im Asp.Net-Datenbankzugriff und Entwicklungserfahrung mit VS.Net verfügen.
Einführung
Crystal Reports können auf viele Arten abgerufen werden. Eine davon ist die Verwendung von VS.Net zum Erstellen, wodurch ein sehr umfangreiches Modell bereitgestellt wird, mit dem wir Eigenschaften und Methoden zur Laufzeit betreiben können. Wenn Sie VS.Net zum Entwickeln von .Net-Programmen verwenden, müssen Sie keine andere Software installieren, da diese bereits in VS.Net eingebettet ist.
Vorteil:
VS.Net Crystal Reports bietet die folgenden Hauptvorteile:
Schnelle Berichtsentwicklung
Möglichkeit zum Export in komplexe interaktive Diagramme
Kann in WebForm mit anderen Steuerelementen verwendet werden
Kann Berichte dynamisch in .pdf, .doc, xls, html, rtf und andere Formate exportieren
Struktur:
Einige Komponenten bilden die zweistufige Struktur von Crystal Reports. Die erforderlichen Webanwendungen sind:
Kunde:
Der Client benötigt lediglich einen Browser, der auf den in der ASPX-Seite eingebetteten Bericht zugreifen kann.
Server:
- Crystal Report Engine (CREngine.dll)
Es kann einige Aufgaben erledigen, wie z. B. das Zusammenführen von Daten in Berichtsdateien, das Konvertieren von Berichten in andere Formate usw. Gerade dank der Reporting-Engine können Crystal Reports in Asp.Net in das normale HTML-Format konvertiert werden.
- Crystal Report Designer (CRDesigner.dll)
Crystal Reports werden im Designer erstellt, wo Sie Titel entwerfen, Daten, Formeln, Diagramme, Unterberichte usw. einfügen können.
- .rpt-Berichtsdatei
Der erste Schritt beim Ausführen eines Berichts besteht darin, diesen Bericht in der Crystal Report Designer-Oberfläche zu erstellen. Microsoft hat in der Standardinstallation einige vorgefertigte .rpt-Beispiele bereitgestellt.
- Datenquelle
Die Methode zum Abrufen der Datenbank aus der .rpt-Datei hängt von Ihrer Wahl ab. Sie können Crystal Reports die Daten selbst auswählen lassen, ohne Code zu verwenden, oder Sie können das DataSet manuell zusammenstellen und es dann in die Berichtsdatei übertragen .
- Crystal Report Viewer-Webformularsteuerung (CRWebFormViewer.dll)
Das Crystal Report View Control ist ein WebForm-Steuerelement, das als Container betrachtet werden kann, der Berichte auf einer ASPX-Seite speichert. Hinweis: Bei einigen komplexen Vorgängen befinden sich der Berichtsserver und der Webserver möglicherweise nicht auf demselben physischen Host und der Webserver überträgt die HTTP-Anfrage an den Berichtsserver. Crystal Reports kann auch als WebService ausgeführt werden.
Das Abrufen von Daten aus Crystal Reports im Ausführungsmodus kann mit den folgenden Methoden erreicht werden:
- Pull-Modus:
Auf Anfrage stellt Crystal Reports basierend auf dem angegebenen Treiber eine direkte Verbindung zur Datenbank her und stellt die Daten zusammen.
- Push-Modus:
Zu diesem Zeitpunkt muss die Entwicklungstabelle ihren eigenen Code schreiben, um die Daten zu verbinden, das DataSet zusammenzustellen und es gleichzeitig an den Bericht zu übertragen. In diesen Fällen können Sie die Berichtsleistung maximieren, indem Sie die Verbindungsfreigabe nutzen und die Größe der Datensatzsammlung begrenzen.
Berichtstyp:
Crystal Report Designer kann Berichte direkt in das Projekt einbinden oder unabhängige Berichtsobjekte verwenden.
- Stark typisierte Berichte:
Wenn Sie einem Projekt eine Berichtsdatei hinzufügen, wird diese zu einem „stark typisierten“ Bericht. In diesen Fällen haben Sie die Möglichkeit, das Berichtsobjekt direkt zu erstellen, wodurch ein Teil des Codes eingespart und die Leistung verbessert werden kann.
- Untypisierter Bericht:
Die hier vorliegenden Berichte sind nicht direkt in das Projekt eingebunden und werden daher als „untypisierte“ Berichte bezeichnet. In diesem Fall müssen Sie eine Instanz mithilfe des „ReportDocuemt“-Objekts von Crystal Reports erstellen und den Bericht „manuell“ verwenden.
Andere Dinge, die Sie beachten sollten
- Obwohl Crystal Report Viewer einige coole Funktionen wie Zoomen, Seitennavigation usw. bietet. Es bietet jedoch keine Druckfunktion, Sie müssen die Druckfunktion des Browsers aufrufen.
- Wenn der Crystal Report in VS.Net nicht registriert ist, kann er nur 30 Mal verwendet werden. Nach 30 Malen kann die Funktion „Speichern“ nicht mehr verwendet werden. Um dies zu vermeiden, sollten Sie dieses Produkt nicht hier unter http://www.crystaldecisions.com/ registrieren. (Dies scheint nicht der Fall zu sein. Es scheint möglich zu sein, es längere Zeit ohne Registrierung zu nutzen, es kann jedoch kein Support bereitgestellt werden.)
- Die Standardinstallation von Crystal Reports kann nur 5 Benutzer unterstützen. Um mehr Benutzer zu unterstützen, müssen Sie eine Lizenz unter http://www.crystaldecisions.com/ erwerben.
Fühlen wir es uns an – mit einer vorgefertigten Crystal Report-Datei in Asp.net 1) Ziehen Sie das Crystal Report Viewer-Steuerelement (Crystal Report Viewer) aus der WebForm-Symbolleiste auf die .aspx-Seite.
2) Rufen Sie das Eigenschaftenfenster des Crystal Report Viewer-Steuerelements auf
3) Klicken Sie auf die Schaltfläche [...], um die Eigenschaft „Datenbindung“ anzuzeigen. Das Fenster „Datenbindung“ wird geöffnet.
4) Wählen Sie links im Bereich „Bindbare Eigenschaften“ die Option „Berichtsquelle“.
5) Wählen Sie das Optionsfeld „Benutzerdefinierter Bindungsausdruck“ und geben Sie im unteren Fenster rechts den Dateinamen und den Pfad der .rpt-Datei an, zum Beispiel: „C:\Programme\Microsoft Visual Studio.NET\“ Crystal Reports\Samples\Reports\General Business\World Sales Report.rpt“ und dann „OK“
Hinweis: Die Datei „World Sales Report.rpt“ wird während der VS.Net-Installation erstellt. Wenn Sie während des Installationsvorgangs ein anderes Verzeichnis angegeben haben, sollten Sie jetzt die Richtigkeit des Pfads überprüfen.
Die obigen Schritte fügen tatsächlich den folgenden Code in die Asp.Net-Datei ein:
sowie:
id="CrystalReportViewer1"
runat="server" Breite="350px" Höhe="50px"
ReportSource=''>
Hinweis: Der von ReportSource in dem in meiner offiziellen VS.Net-Version automatisch generierten Code generierte Stil ist nicht dieser, sondern:
ReportSource=""
Das ist falsch und es erscheint eine Fehlermeldung. Es liegen zwei Fehler vor:
Es muss manuell gemäß dem in diesem Artikel vorgestellten Format geändert werden. Dies kann als Fehler von VS.Net angesehen werden.
6) Rufen Sie die DataBind-Methode in der Page_Load-Methode auf. (Code ist VB.Net)
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
DataBind()
Sub beenden
7) Speichern und kompilieren Sie Ihre Seite. Jetzt haben Sie eine WebForm-Seite mit darin eingebetteten Crystal Reports.
Hinweis: In der tatsächlichen Entwicklung tritt zu Beginn der Fehler auf, dass auf das inetsrv-Verzeichnis nicht zugegriffen werden kann. Die Lösung besteht darin, die Sicherheitsattribute des Verzeichnisses so zu ändern, dass der Benutzer über Schreibberechtigungen verfügt. Flying Knife Ich habe festgestellt, dass die vom .Net-System bereitgestellten Lösungen nutzlos sind, was möglicherweise daran liegt, dass ich das Windows.Net-Betriebssystem verwende.
Verwenden von Crystal Reports in Asp.Net (Teil 2)
www.dotnet8.com 2002-9-6 DotNet Bar
Der folgende Inhalt ist der Programmcode:
Verwenden des Pull-Modus Wir werden die folgenden Schritte verwenden, um Crystal Reports im Pull-Modus auszuführen
1. Erstellen Sie zunächst die RPT-Datei und verwenden Sie die Crystal Report-Designoberfläche, um einige erforderliche Datenverbindungen einzurichten.
2. Ziehen Sie ein CrystalReportViewer-Steuerelement per Drag-and-Drop auf die ASPX-Seite und legen Sie seine Eigenschaften fest, um die RPT-Datei anzugeben, die wir im vorherigen Schritt erstellt haben.
3. Rufen Sie die DataBind-Methode im Code auf.
Erstellen Sie eine .rpt-Datei:
1) Klicken Sie mit der rechten Maustaste auf „Lösungsbrowser“ und wählen Sie im Popup-Menü „Hinzufügen“ – „Neues Element hinzufügen“ – > „Crystal Report“.
2) Wählen Sie das Optionsfeld „Als leerer Bericht“ in „Crystal Report Library“ und klicken Sie abschließend auf „OK“.
3) Der Crystal Report Designer wird hier angezeigt.
4) Klicken Sie mit der rechten Maustaste auf den „Detailbereich“ im Bericht und wählen Sie „Datenbank“ -> „Datenbank hinzufügen/löschen ...“
5) Erweitern Sie im Popup-Fenster „Datenbankexperte“ die Option „OLE DB(ADO)“. Daraufhin wird ein weiteres Fenster „OLE DB(ADO)“ angezeigt.
6) Wählen Sie im Popup-Fenster „OLE DB (ADO)“ „Microsoft OLE DB Provider for SQL Server“ und dann „Weiter“
7) Geben Sie den Informationsserver an, zu dem eine Verbindung hergestellt werden soll: ASPCN (geben Sie den Namen Ihres Computers ein)
Benutzer-ID: sa
Passwort:
Datenbank: Pubs
8) Klicken Sie auf „Weiter“ und schließlich auf die Schaltfläche „Fertig stellen“.
9) Zu diesem Zeitpunkt können Sie die von uns ausgewählte Datenbank im Fenster „Datenbankexperte“ sehen.
10) Erweitern Sie die Datenbank „Pubs“, erweitern Sie die „Tabelle“, wählen Sie die Tabelle „Stores“ aus und fügen Sie sie dem Bereich „Ausgewählte Tabellen“ hinzu. Klicken Sie auf die Schaltfläche „OK“.
11) Nun werden im „Feldressourcenbrowser“ links im Bereich „Datenbankfeld“ die von Ihnen ausgewählte Tabelle und die Felder in der Tabelle angezeigt.
12) Ziehen Sie die erforderlichen Felder per Drag & Drop in den Bereich „Details“ des Berichts. Die Feldnamen erscheinen automatisch im Bereich „Kopfzeile“. Wenn Sie den Text der Kopfzeile ändern möchten, können Sie im Bereich „Kopfzeile“ mit der rechten Maustaste auf den Text klicken, die Option „Textobjekt bearbeiten“ auswählen und ihn bearbeiten.
13) Speichern, damit wir eine Crystal Report-Datei haben.
Erstellen Sie das CrystalReportViewer-Steuerelement
14) Kehren Sie zum vorherigen WebForm zurück und ziehen Sie ein Crystal Report Viewer-Steuerelement per Drag & Drop auf die Seite.
15) Rufen Sie das Eigenschaftenfenster des Crystal Report Viewer-Steuerelements auf, wählen Sie den Bereich "DataBindings" aus und klicken Sie auf [...]
16) Wählen Sie im „Crystal Report Viewer-Datenbindungsfenster“ rechts in den „Bindbaren Eigenschaften“ „ReportSource“ und in der unteren rechten Ecke „Benutzerdefinierter Bindungsausdruck“ aus, um den .rpt-Dateipfad anzugeben.
17) An dieser Stelle können Sie eine Vorschau der Berichtsdatei sehen, die aus einigen virtuellen Daten aus dem Crystal Report Viewer-Steuerelement besteht.
Hinweis: Im obigen Beispiel kann CrystalReportViewer die realen Daten zur Entwurfszeit direkt aufrufen, da die Daten zu diesem Zeitpunkt gespeichert wurden. In diesem Fall können die Daten nicht angezeigt werden, wenn sie zur Entwurfszeit nicht gespeichert werden. Stattdessen werden einige Dummy-Daten angezeigt und echte Daten werden erst zur Ausführungszeit ausgewählt.
Code hinter der Programmierung
18) Rufen Sie die DataBind-Methode in der Page_Load-Methode auf.
Führen Sie Ihr Programm aus
19) Erstellen Sie Ihr Programm und führen Sie es aus!
Sie können jetzt einige integrierte Funktionen von Crystal Reports direkt auf der Webseite nutzen, wie z. B. Seitennavigation, Zoom usw.
Verwenden von Crystal Reports in Asp.Net (Teil 2)
www.dotnet8.com 2002-9-6 DotNet
[HTML] Wir verwenden die folgenden Schritte, um Crystal Reports im Push-Modus auszuführen:
1. Entwerfen Sie ein DataSet
2. Erstellen Sie eine .rpt-Datei und weisen Sie sie dem im vorherigen Schritt erstellten DataSet zu.
3. Ziehen Sie ein CrystalReportViewer-Steuerelement per Drag-and-Drop auf die ASPX-Seite und verbinden Sie es mit der vorherigen RPT-Datei.
4. Greifen Sie im Code auf die Datenbank zu und speichern Sie die Daten im DataSet
5. Rufen Sie die DataBind-Methode auf.
Entwerfen Sie ein DataSet
1) Klicken Sie mit der rechten Maustaste auf „Lösungsbrowser“ und wählen Sie „Hinzufügen“ – „Neues Element hinzufügen“ –> „Datensatz“.
2) Ziehen Sie die Tabelle „Stores“ (in der PUBS-Datenbank) per Drag & Drop von „SQL Server“ in „Server Explorer“.
3) Zu diesem Zeitpunkt befindet sich im Datensatz ein Strukturdiagramm der Stores-Tabelle.
- Die .xsd-Datei enthält nur ein Strukturdiagramm, enthält jedoch keine Daten.
Erstellen Sie eine .rpt-Datei:
4) Erstellen Sie diese Datei mit der oben vorgestellten Methode. Der einzige Unterschied besteht darin, einen Datensatz anstelle der vorherigen Direktverbindungsdaten zu verwenden.
5) Nachdem Sie die .rpt-Datei erstellt haben, klicken Sie mit der rechten Maustaste auf „Details“ -> „Datenbank hinzufügen/löschen“.
6) Erweitern Sie im Fenster „Database Expert“ „Project Data“ (anstelle der vorherigen OleDb), erweitern Sie „ADO.Net Data Set“ – „DataSet1“ und wählen Sie die Tabelle „Stores“ aus.
7) Fügen Sie die Tabelle „Stores“ zu den „Ausgewählten Tabellen“ hinzu und klicken Sie auf „OK“.
8) Verwenden Sie die Methode im PULL-Modus, um ein WebForm zu erstellen
Erstellen Sie ein Crystal Report Viewer-Steuerelement
9) Erstellen Sie ein Crystal Report Viewer-Steuerelement und legen Sie seine Eigenschaften fest. Dies entspricht dem PULL-Modus.
Code hinter dem Code:
10) Verwenden Sie die folgende Unterfunktion in der Page_Load-Methode:
VB.Net-Code:
SubBindReport()
Dimmen Sie myConnection als neues SqlClient.SqlConnection()
myConnection.ConnectionString= "server= (local)NetSDK;database=pubs;Trusted_Connection=yes"
Dimmen Sie MyCommand als neues SqlClient.SqlCommand()
MyCommand.Connection = myConnection
MyCommand.CommandText = „Wählen Sie * aus Stores“
MyCommand.CommandType = CommandType.Text
Dimmen Sie MyDA als neues SqlClient.SqlDataAdapter()
MyDA.SelectCommand = MyCommand
Dimmen Sie myDS als neuen Datensatz1()
„Dies ist das DataSet, das wir im Entwurfsmodus verwenden.“
MyDA.Fill(myDS, „Stores“)
„Sie müssen denselben Namen wie Ihr vorheriges DataSet verwenden.“
Dim oRpt As New CrystalReport1()
'Crystal-Berichtsbindung
oRpt.SetDataSource(myDS)
'Legen Sie die ReportSource von Crystal Report fest
CrystalReportViewer1.ReportSource = oRpt
Sub beenden
C#-Code:
private void BindReport()
{
string strProvider = "Server=(local);DataBase=pubs;UID=sa;PWD=";
CrystalReport1 oCR = new CrystalReport1();
Datensatz1 ds = neuer Datensatz1();
SqlConnection MyConn = new SqlConnection(strProvider);
MyConn.Open();
string strSel = "* aus Stores auswählen";
SqlDataAdapter MyAdapter = new SqlDataAdapter(strSel,MyConn);
MyAdapter.Fill(ds,"stores");
oCR.SetDataSource(ds);
this.CrystalReportViewer1.ReportSource = oCR;
}
Hinweis: Im obigen Code müssen Sie beachten, dass es sich bei oRpt um eine „Strongly Typed“-Berichtsdatei handelt. Wenn Sie „UnTyped“-Berichte verwenden müssen, müssen Sie das ReportDocument-Objekt verwenden und dann die Berichtsdatei aufrufen.
Führen Sie Ihr Programm aus.
11) Führen Sie Ihr Programm aus
Berichtsdateien in andere Formate exportieren
Sie können Berichtsdateien in die folgenden Formate exportieren:
1. PDF (Portable Document Format)
1. 2. DOC (MS Word-Dokument)
2. 3. XLS (MS Excel-Tabelle)
3. 4. HTML (Hyper Text Markup Language – 3.2 oder 4.0 kompatibel)
4. 5. RTF (Rich Text Format)
verwendet den Pull-Modus zum Exportieren von Berichten. Beim Exportieren von Dateien, die im Pull-Modus erstellt wurden, öffnet Crystal Reports die erforderlichen Daten. Im Folgenden finden Sie den Code zum Ausführen der Exportfunktion.
C#-Code:
VB.Net-Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Behandelt Button1.Click
Dim myReport As CrystalReport1 = New CrystalReport1()
'Hinweis: Hier erstellen wir eine Crystal Report-Instanz mit starkem Typ.
Dim DiskOpts As CrystalDecisions.Shared.DiskFileDestinationOptions = New CrystalDecisions.Shared.DiskFileDestinationOptions()
myReport.ExportOptions.ExportDestinationType = CrystalDecisions.[Shared].ExportDestinationType.DiskFile
' Diese Option wird auch beim Exportieren in andere Dateien benötigt
' Wie Microsoft Exchange, MAPI usw.
myReport.ExportOptions.ExportFormatType = CrystalDecisions.[Shared].ExportFormatType.PortableDocFormat
„Hier exportieren wir es in eine Datei im PDF-Format. Sie können oben auch andere Dateitypen auswählen.“
DiskOpts.DiskFileName = "c:Output.pdf"
„Wenn Sie das genaue Verzeichnis nicht angeben, wird die Datei im Verzeichnis [Windows]System32 gespeichert.
myReport.ExportOptions.DestinationOptions = DiskOpts
„Crystal Report-Dateien enthalten keine direkte FileName-Eigenschaft, daher können Sie den gespeicherten Dateinamen nicht direkt angeben.“
„Sie müssen also das DiskFileDestinationOptions-Objekt verwenden und seine DiskFileName-Eigenschaft festlegen.“
„Für den gewünschten Pfad geben Sie abschließend oben die DestinationsOptions-Eigenschaft von Crystal Reports als DiskFileDestinationOption an.“
myReport.Export()
„Der obige Code erledigt den Export.
Sub beenden
Exportieren Sie Crystal Reports im PUSH-Modus. Wenn der exportierte Bericht im PUSH-Modus erstellt wird, besteht der erste Schritt darin, eine Verbindung herzustellen, das DataSet durch Programmierung zusammenzustellen und die SetDataSource-Eigenschaft des Berichts festzulegen. Die folgenden Schritte sind die gleichen wie im Pull-Modus.
[/HTML]
Zusammenfassung der Verwendung von Crystal Reports in der .NET-Umgebung
. Als ich ein allgemeines Verwaltungssystem entwickelte, war ich von Crystal Reports begeistert Jetzt werde ich Crystal Reports anhand von Notizen allen präsentieren.
1. Wenn Sie den integrierten Crystal Report verwenden, registrieren Sie sich bitte, andernfalls können Sie
den Crystal Report nur 30 Mal verwenden. Registrierungsnummer: 6707437608
Passwort:AAP5GKS0000GDE100DS
2. Verwenden Sie CrystalReportViewer für die Vorschau.
Mit dem CrystalReportViewer-Steuerelement können Sie den Crystal Report in der Anwendung anzeigen. Die ReportSource-Eigenschaft legt fest, welcher Bericht angezeigt werden soll. Nachdem diese Eigenschaft festgelegt wurde, wird der Bericht im Viewer angezeigt. Die Berichtsquelle kann ein ReportDocument, der Pfad der Berichtsdatei oder ein stark typisierter Bericht sein.
1. Öffnen Sie die „Toolbox“ und ziehen Sie einen CrystalReportViewer auf das Formular, das wir rptVew nennen.
2. Per Drag-and-Drop die Größe des Windows Forms Viewers auf die gewünschte Größe anpassen und an die gewünschte Position verschieben.
3. Wenn Sie die Anwendung ausführen, wird der Bericht im Viewer angezeigt.
3. Erstellen Sie einen neuen Bericht.
1. Zeigen Sie auf „Hinzufügen“ und klicken Sie auf „Neues Element hinzufügen“.
2. Wählen Sie im Dialogfeld „Neues Element hinzufügen“ im Bereich „Vorlage“ die Option „Crystal Report“ aus, nennen Sie den Bericht „rptClient“ und klicken Sie auf „Öffnen“.
3. Wählen Sie in der Crystal Report-Galerie eine der folgenden Optionen aus:
· Report Expert verwenden – Führt Sie durch den Berichterstellungsprozess und fügt Ihre Auswahl dem Crystal Report Designer hinzu.
· Als leerer Bericht – Öffnet Crystal Report Designer.
· Aus vorhandenem Bericht – Erstellt einen neuen Bericht mit demselben Design wie ein anderer von Ihnen angegebener Bericht.
Hinweis In der Crystal Report-Bibliothek gibt es Experten, die Sie bei der Erstellung verschiedener spezifischer Berichtstypen unterstützen können. Möglicherweise möchten Sie einen Experten mit der Erstellung Ihres ersten Berichts beauftragen, um festzustellen, welche Berichtserstellungsmethode Ihren Anforderungen entspricht.
4. Klicken Sie auf die Schaltfläche OK.
Wenn Sie Report Expert verwenden, wird das Dialogfeld Report Expert mit dem Daten-Explorer angezeigt. Wählen Sie die erforderlichen Daten für jeden Ordner aus, schließen Sie die Vorgänge auf der Registerkarte „Report Expert“ ab und klicken Sie dann auf „Fertig stellen“, um auf Crystal Report Designer und Ihren Bericht zuzugreifen.
4. Müssen Sie die Datenquelle dynamisch festlegen?
Crystal Reports stellt über einen Datenbanktreiber eine Verbindung zur Datenbank her. Jeder Treiber ist für die Handhabung eines bestimmten Datenbanktyps oder einer bestimmten Datenbankzugriffstechnologie geschrieben.
Pull- und Push-Modelle Um Entwicklern die flexibelsten Datenzugriffsmethoden zu bieten, ist der Crystal Reports-Datenbanktreiber so konzipiert, dass er sowohl Pull- als auch Push-Modelle für den Datenzugriff bereitstellt.
Pull-Modell
Im Pull-Modell stellt der Treiber eine Verbindung zur Datenbank her und „zieht“ bei Bedarf Daten ein. Bei Verwendung dieses Modells werden sowohl die Verbindung zur Datenbank als auch die zum Abrufen der Daten ausgeführten SQL-Befehle von Crystal Reports selbst verwaltet, ohne dass Entwickler Code schreiben müssen. Verwenden Sie das Pull-Modell, wenn Sie zur Laufzeit keinen speziellen Code schreiben müssen.
Push-Modell
Im Gegensatz dazu müssen Entwickler beim Push-Modell Code schreiben, um eine Verbindung zur Datenbank herzustellen, SQL-Befehle ausführen, um ein Recordset oder Dataset zu erstellen, das mit den Feldern im Bericht übereinstimmt, und das Objekt an den Bericht übergeben. Mit dieser Methode können Sie die Verbindungsfreigabe in Ihre Anwendung integrieren und die Daten herausfiltern, bevor Crystal Reports sie empfängt.
4. Erstellen Sie Berichte aus ADO.NET-Datensätzen und
erstellen Sie Datensatzobjekte aus der Datenbank.
1. Erstellen Sie eine neue Schemadatei im Projekt:
a Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektnamen, zeigen Sie auf „Hinzufügen“ und Klicken Sie dann auf „Neuen Artikel hinzufügen“.
b. Erweitern Sie im Bereich „Kategorien“ des Dialogfelds „Neues Element hinzufügen“ den Ordner und wählen Sie dann „Daten“ aus.
c. Wählen Sie im Bereich „Vorlage“ den Eintrag „Datensatz“ aus.
d. Akzeptieren Sie den Standardnamen Dataset1.xsd.
Dadurch wird eine neue Schemadatei (Dataset1.xsd) erstellt, die später zum Generieren eines stark typisierten Datensatzes verwendet wird. Die Schemadatei wird im ADO.NET Dataset Designer angezeigt.
2. Geben Sie den Speicherort der Datenbank an:
a. Klicken Sie im Server-Explorer mit der rechten Maustaste auf „Datenverbindungen“ und wählen Sie „Verbindung hinzufügen“.
b. Klicken Sie im Dialogfeld „Datenverknüpfungseigenschaften“ auf die Registerkarte „Anbieter“ und wählen Sie dann einen Anbieter aus (z. B. Microsoft OLE DB-Anbieter für SQL Server).
c. Klicken Sie auf die Registerkarte „Verbindung“ und geben Sie den Speicherort Ihrer Datenbank an. Geben Sie bei Bedarf Ihren Server und Ihre Anmeldeinformationen ein.
d. Klicken Sie auf die Schaltfläche OK.
Ihre Datenbank und ihre Tabellen und Felder werden jetzt im Server-Explorer unter dem Knoten „Datenverbindungen“ angezeigt.
3. Doppelklicken Sie im Projektmappen-Explorer auf Dataset1.xsd (sofern es sich nicht bereits um die aktive Ansicht handelt).
Dataset1.xsd sollte jetzt auf der Registerkarte „Datasets“ angezeigt werden.
4. Um das Dataset zu schematisieren, ziehen Sie die erforderlichen Tabellen aus dem Server-Explorer auf die Registerkarte „Datasets“ von Dataset1.xsd.
5. Klicken Sie auf „Dataset1.xsd speichern“, um die Datei „Dataset1.xsd“ zu speichern.
6. Klicken Sie im Menü „Generieren“ auf „Generieren“, um das Datensatzobjekt für das Projekt zu generieren.
Das ADO.NET DataSet-Objekt stellt eine Beschreibung der Daten bereit, aus denen Tabellen zu einem Crystal Reports hinzugefügt werden können. Verwenden Sie den Datenbankexperten im Crystal Report Designer, um Tabellen aus ADO.NET-Dataset-Objekten hinzuzufügen.
Bitte rufen Sie den Datenbankexperten an, wenn Sie den Berichtsexperten zum Erstellen eines neuen Berichts verwenden. Oder um über einen Bericht, der mit ADO.NET erstellt wurde, auf den Datenbankexperten zuzugreifen, klicken Sie mit der rechten Maustaste in Report Designer, zeigen Sie auf Datenbanken und klicken Sie dann auf Datenbank hinzufügen/entfernen.
Verbinden eines Berichts mit einem ADO.NET-Dataset-Objekt
1. Erweitern Sie in Database Expert den Ordner „Projektdaten“.
2. Erweitern Sie den Ordner „ADO.NET Datasets“.
3. Wählen Sie das gewünschte Datensatzobjekt aus.
Wenn Sie beispielsweise ein Datensatzobjekt verwenden, das aus der Schemadatei „Dataset1.xsd“ des Projekts „WindowsApplication1“ generiert wurde, sollten Sie „WindowsApplication1.Dataset1“ auswählen.
4. Wählen Sie die Tabellen aus, die Sie dem Bericht hinzufügen möchten, genau wie Sie es bei anderen Datenquellen tun würden.
5. Code zum dynamischen Ändern von Datenquellen
Dim dsdataSet As New DataSet()
Dim oRpt As New rptClient() 'Der etablierte Berichts-rptClient
erfordert, dass Leser den Datensatz dsdataSet selbst ausfüllen
.'Verwenden Sie das Objektmodell „Report Engine“, um den gefüllten Datensatz an den Berichts-
oRpt zu übergeben. SetDataSource(dsdataSet. Tables(0))
'Binden Sie das Berichtsobjekt mit Daten an den Windows Forms Viewer, rptVew (CrystalReportViewer-Steuerelement)
rptVew.ReportSource = oRpt
Beachten Sie, dass die FillDataSet-Methode eine Verbindung zur angegebenen Datenbank herstellen, die Daten extrahieren und dann Trennen Sie die Datenbank. Wenn Sie dem Bericht mehrere Tabellen in der Datenbank hinzufügen möchten, verbinden Sie diese Tabellen mit der SQL JOIN-Anweisung und geben Sie dann eine Ergebnistabelle in der FillDataSet-Methode an.
6. Erstellen Sie einen Master-Detail-Bericht
. Der Bericht enthält viele Berichte Master-Detail-Tabellenstruktur, z. B. Bestellung und Bestellproduktdetails, Bestellung ist ein Datensatz in einer Tabelle und Einträge sind mehrere Datensätze in einer anderen Tabelle. Die beiden Tabellen sind über ein Feld verknüpft. Diese Art von Bericht kann seine Gruppierungsfunktionsimplementierung verwenden :
1. Erstellen Sie ein neues Projekt
. 2. Fügen Sie ein CrystalReportViewer-Steuerelement zu FORM1 hinzu.
3. Stellen Sie eine Verbindung zur Northwind-Datenbank auf SQL SERVER 2000 im Dienstressourcenmanager her
. 4. Fügen Sie einen Datensatz Dataset1 hinzu und fügen Sie die Bestellungen hinzu. Den Daten werden Bestelldetails hinzugefügt Satz.
5. Fügen Sie einen Crystal Report hinzu, verwenden Sie Report Expert, wählen Sie „ADO.NET Data Set“ in den Projektdaten aus, fügen Sie die Tabellen Orders und Order Details ein, „Link“ ist der Link zum zugehörigen Feld, wählen Sie das Feld aus, in dem angezeigt werden soll „Feld“ Für die Felder der Haupttabelle und der Detailtabelle ist die Gruppenauswahlbasis in der Gruppe das Orders-Tabellenfeld „OrdersID“, die Summe, das Diagramm, die Auswahl (kann gefiltert werden), der Stil (kann den Berichtstitel festlegen) und kann selbst eingestellt werden. Klicken Sie nach der Einrichtung auf Fertig stellen.
6. Passen Sie die Position, Breite usw. der im Berichtsdesigner anzuzeigenden Felder an.
7. Fügen Sie Code im Fenster hinzu.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Behandelt MyBase.Load
Dim oRpt As New CrystalReport1()
Dim dsdataSet As New Dataset1()
Dimmen Sie CN als neu Data.SqlClient.SqlConnection("data source=PMSERVER;initial Catalog=Northwind;user id=sa;password=sa")
CN.Open()
Dimmen Sie daOrders als neu Data.SqlClient.SqlDataAdapter("select * from Bestellungen“, CN)
daOrders.Fill(dsdataSet, „Bestellungen“)
Dim daDetails As New Data.SqlClient.SqlDataAdapter("select * from [Order Details]", CN)
daDetails.Fill(dsdataSet, "Order Details")
'Verwenden Sie das Objektmodell „Report Engine“, um den ausgefüllten Datensatz an den Bericht zu übergeben.
oRpt.SetDataSource(dsdataSet)
CrystalReportViewer1.ReportSource = oRpt
End Sub
8. Führen Sie das Programm aus
7. Verwenden Sie ein Programm, um den Text im Bericht zu ändern.
Der Code lautet wie folgt:
Dim GetTextObject As TextObject
' Rufen Sie das ReportObject nach Namen ab, konvertieren Sie es in TextObject und geben Sie dieses Objekt zurück.
GetTextObject = orpt.ReportDefinition.ReportObjects.Item("text13")
GetTextObject.Text = "XXXX System"
Zusammenfassung: Crystal Reports verfügt über sehr leistungsstarke Funktionen. Es kann auch WORD-, EXCEL-, RTF- und andere Dateien exportieren und komplexe und schöne Diagramme erstellen. Es ist ein leistungsstarkes Tool für die Entwicklung von WEB- und WINDOWS-Berichten.
(Ein Teil der Informationen in diesem Artikel stammt von MSDN)
Autor: Li Honggen
E-MAIL: [email protected]
Ich habe folgende Ideen:
1. Erhalten Sie SQL-Datenbankbezogene Daten über eine Verbindungsabfrage.
2. Platzieren Sie es im DataSet.
3. Rufen Sie Crystal Reports (lineare oder spaltenorientierte Vorlage) auf, um Berichte zu erstellen.
4. Excel-Dokument ausgeben und generieren.
Bitte sagt mir, Helden, wie man die oben genannten Ideen umsetzt. (Es wäre besser, wenn es Beispiele gäbe)
Vielen Dank!
-------------------------------------------------- -------------
1. Fügen Sie Ihrem Projekt ein neues Projekt-DataSet hinzu, stellen Sie eine Verbindung zur Datenbank her und fügen Sie die erforderlichen Datentabellen oder gespeicherten Prozeduren hinzu
Ziehen Sie es in dieses DataSet und kompilieren Sie das DataSet
2. Verwenden Sie den mit Vs.net gelieferten Crystal Report, um einen Bericht mit DataSet als Datenquelle zu erstellen.
3. Übertragen Sie Daten in diesen Bericht im Programm
4.Crystal Report bietet die Möglichkeit zur Ausgabe in Excel, was auch über ein Programm möglich ist.
Dimmen Sie conn als SqlConnection
Dim da As SqlDataAdapter
Dimmen Sie strSQL als String
conn = Neue SqlConnection()
conn.ConnectionString = „Benutzer-ID=sa; PWD=1234;Datenquelle=xxxx; Erstkatalog =xxxxx“
conn.Open()
strSQL = „Wähle * aus Tabellenname aus“
da = Neuer SqlDataAdapter(strSQL, conn)
Dim ds As New DataSet()
da.Fill(ds, "TableName")
Dim RptDoc als neuen ReportName()
RptDoc.SetDataSource(ds)
'Daten für RptDoc angeben,
CrystalView1.ReportSource = RptDoc 'Daten für CrystalView angeben
CrystalView1.DataBind()
conn.Close()
5. Wenn Sie mit mehreren Tabellen verknüpfte Felder anzeigen müssen, erstellen Sie am besten ein DataSet mithilfe einer gespeicherten Prozedur.
-------------------------------------------------- -------------
Bitte beachten Sie den folgenden Code:
string strconn=Verbindungszeichenfolge;
SqlConnection myconn=new SqlConnection(strconn);
string strcmd=@"select- Anweisung";
SqlCommand mycmd=new SqlCommand(strcmd,myconn);
SqlDataAdapter myda=new SqlDataAdapter(strcmd,myconn);
DataSet myds=new DataSet();
myconn.Open();
myda.Fill(myds,"Berichtsname");
Berichtsname myrpt =neuer Berichtsname();
myrpt.SetDataSource(myds);
this.CrystalReportViewer1.ReportSource=myrpt;
Export nach Excel:
myrpt.ExportOptions.ExportDestinationType=CrystalDecisions.Shared.ExportDestinationType.DiskFile;
myrpt.ExportOptions.ExportFormatType=CrystalDecisions.Shared.ExportFormatType.Excel;
CrystalDecisions.Shared.DiskFileDestinationOptions opt=new CrystalDecisions.Shared.DiskFileDestinationOptions();
opt.DiskFileName=@"Dateiname";
myrpt.ExportOptions.DestinationOptions =opt;
myrpt.Export();
Chinesischer Hilfe-Download für Crystal Reports 9:
http://www.ourfly.com/download/download.aspx
http://www.enwell.net/soft/
http://www.fast8.com/news.asp
Crystal Reports für Visual Studio .NET
PictureObject-Mitglieder siehe
PictureObject-Klasse¦ Öffentliche Instanzeigenschaften des CrystalDecisions.CrystalReports.Engine-Namespace
Border (geerbt von ReportObject) Border. Holen Sie sich das Border-Objekt.
Höhe (geerbt von ReportObject) Int32. Ruft die Höhe des Objekts in Twips ab oder legt diese fest.
Kind (geerbt von ReportObject) ReportObjectKind. Ruft den Typ des Berichtsobjekts ab.
Left (geerbt von ReportObject) Int32. Ruft die Position der oberen linken Ecke des Objekts in Twips ab oder legt diese fest.
Name (geerbt von ReportObject) String. Holen Sie sich den Objektnamen.
ObjectFormat (geerbt von ReportObject) ObjectFormat. Rufen Sie das ObjectFormat-Objekt ab.
Oben (geerbt von ReportObject) Int32. Ruft die oberste Position des Objekts in Twips ab oder legt diese fest.
Breite (geerbt von ReportObject) Int32. Ruft die Breite des Objekts in Twips ab oder legt diese fest.
Sehen
PictureObject
ClassImports CrystalDecisions.CrystalReports.Engine
Dimmen Sie picObject als PictureObject
picObject = oRpt.ReportDefinition.ReportObjects.Item("picture1")
Von: http://expert.csdn.net/Expert/topic/1896/1896874.xml?temp=.78677
Wenn Sie Crystal Reports basierend auf Webform verwenden und einfach der „A Dao“-Methode im Internet folgen, werden Sie Sie werden auf jeden Fall gefragt: Die Anmeldung ist fehlgeschlagen.
Bezüglich dieses Problems habe ich einen ganzen Tag damit verbracht, die Hilfedatei von Crystal Reports zu studieren und schließlich eine Lösung gefunden.
Ich bin kein konservativer Mensch. Ich glaube, dass es viele Internetnutzer gibt, die wie ich Energie in die Erforschung dieses Themas investieren.
Hier sind einige Schritte, die ich unternommen habe, um diese Lösung zu implementieren. Machen Sie sich keine Sorgen, es wird Ihnen eine große Hilfe sein, wenn Sie es langsam lesen.
Schritt 1: Schauen Sie sich die Beispieldatei an. Crystal Reports wird mit einer Beispieldatei geliefert und der Zugriff auf die Datenbank erfolgt (ohne Passwort). Ich habe zuerst die Beispieldatei (basierend auf Webform und Winform) ausgeführt und das Ergebnis zeigte den korrekten Bericht, genau wie im Beispiel „Fliegendes Messer“.
Also habe ich selbst eine Berichtsdatei und eine ASPX-Datei erstellt, aber das Ergebnis zeigte, dass die Anmeldung fehlgeschlagen ist! Aber ich habe die Berichtsdatei in die Beispielberichtsdatei geändert und es sind keine Fehler mehr aufgetreten.
Was ist das Problem? Könnte es sein, dass die Berichtsformatdatei über Anmeldeberechtigungseinstellungen verfügt? Durch Nachverfolgung und Debugging habe ich meine Berichtsdatei und die Beispielberichtsdatei verglichen und analysiert und keinen Unterschied festgestellt. Es scheint, dass das Problem nicht in der Berichtsdatei liegt.
Handelt es sich um ein Datenbankproblem? Als ich einen Zugang erstellt habe, ist die Anmeldung fehlgeschlagen!
Handelt es sich nicht um ein Datenbankproblem (auf meine eigene Datenbank kann ohne Passwort zugegriffen werden, und das Gleiche gilt auch für die Datenbank in der Hilfe)? Ist es nicht ein Problem mit der Berichtsformatdatei (ich habe sorgfältig analysiert, dass die Originalcodes der beiden gleich sind)?
Wo tritt also das Problem auf? Ich kann es nicht verstehen!
Schritt 2: Suchen Sie die Hilfedatei. Also habe ich erneut um Hilfe gebeten. Ich habe die Hilfe von Crystal Reports durchsucht und schließlich die Worte „Access Secure Database [C#]“ und den folgenden Absatz gefunden:
Der Prozess für den Zugriff auf eine sichere Datenbank über Crystal Reports für Visual Studio .NET unterscheidet sich zwischen Web Forms und Windows Forms. In Windows Forms fordert ein Dialogfeld den Benutzer automatisch zur Eingabe eines Benutzernamens und eines Kennworts auf (der Test gelingt problemlos). In Web Forms müssen Sie ein Formular entwerfen, um diese Informationen vom Benutzer zu erhalten. In beiden Fällen kann Code zur Angabe von Benutzernamen und Passwörtern verwendet werden, wodurch für alle Benutzer der Anwendung das gleiche Maß an Sicherheit gewährleistet wird.
Also habe ich dieselbe Datenbank verwendet (zuerst die Access-Datenbank im Hilfebeispiel und später die von mir erstellte Access-Datenbank). Es wurde festgestellt, dass Winform für dieselbe Berichtsdatei zwar Erfolg anzeigen kann, Webform jedoch weiterhin einen Anmeldefehler anzeigt! Ich verstehe also irgendwie, was es bedeutet!
Es scheint, dass das Problem in den Berechtigungseinstellungen liegt.
Schritt 3: Suchen Sie nach Hilfe und haben Sie endlich Erfolg!
In der Hilfe habe ich die Worte „Set Database Login Parameters“ gefunden, die einige Informationen lieferten, die ich später als sehr nützlich empfand:
Das folgende Beispiel zeigt, wie Anmeldeparameter an eine Berichtstabelle übergeben werden. In diesem Beispiel wird eine Verbindung zu einer sicheren SQL Server-Datenbank verwendet.
Starten Sie ein neues Projekt und fügen Sie dem Formular eine Schaltfläche und vier TextBox-Steuerelemente hinzu.
Benennen Sie die Textfeld-Steuerelemente: serverNameTxt, dbNameTxt, userNameTxt und passwordTxt.
Doppelklicken Sie auf das Button-Steuerelement, um den Code für das Click-Ereignis anzugeben. Fügen Sie den entsprechenden Code basierend auf der verwendeten Sprache ein.
[C#]
// Deklarieren Sie die erforderlichen Variablen.
TableLogOnInfo logOnInfo = new TableLogOnInfo ();
int i = 0;
// Schleife durch jede Tabelle im Bericht.
for (i=0;i == Report.Database.Tables.Count - 1;i++)
{
//Legen Sie die Verbindungsinformationen der aktuellen Tabelle fest.
logOnInfo.ConnectionInfo.ServerName = serverNameTxt.Text;
logOnInfo.ConnectionInfo.DatabaseName = dbNameTxt.Text;
logOnInfo.ConnectionInfo.UserID = userNameTxt.Text;
logOnInfo.ConnectionInfo.Password = passwortTxt.Text;
Report.Database.Tables [i].ApplyLogOnInfo (logOnInfo);
}
Beachten Sie, dass passwortgeschützte PC-Datenbanken wie Microsoft Access und Paradox diese Methode auch verwenden.
Also habe ich es so versucht und eine Fehlermeldung erhalten: Tabelogoninfo und Bericht wurden nicht gefunden.
Später stellte ich fest, dass Tablelogoninfo ein Mitglied der Crystaldecisions.Shared Namespace ist. Also habe ich ein Zitat hinzugefügt:
mit Crystaldecisions.Shared;
Diesmal trat das Problem im Bericht auf.
Bericht? Was ist das?
[Ernsthaft! Dieses Problem hat mich schon lange beunruhigt! Ich habe nach dem Bericht gesucht! Das Waterscape Report Company ist auch sehr hilfreich und schreibt nicht ausführlich! Es ist Zeit zu kämpfen! ! ! ]
Am Ende habe ich schließlich festgestellt, dass der Bericht nur ein benutzerdefiniertes Objekt ist, kein Objekt des Systems selbst.
Als ich verwirrt war, dachte ich plötzlich, warum nicht die Datenbank hinter dem Bericht schauen, was ist das?
ReportDocument orpt = new ReportDocument ();
Bericht ist Mitglied der DokumentCrystaldecisions.Crystalreports.Engine -Klasse.
Ändern Sie den Code: und fügen Sie eine Referenz hinzu
Verwenden von Crystaldecisions.shared; // verantwortlich für die Interpretation der Tablelogoninfo -Klasse
Verwenden von Crystaldecisions.Crystalreports .Egine; // verantwortlich für die Interpretation der ReportDocument -Klasse private void page_load (Objektabsender, System.EventArgs e)
{
Tabelogoninfo logoninfo = new Tablelogoninfo ();
// Ein Bericht des Berichtsdokuments muss im Voraus deklariert werden und der Datenbericht muss gleichzeitig geladen werden.
ReportDocument orpt = new ReportDocument ();
orpt.load ("c: \ inetpub \ wwwroot \ exer \ pagelet \ crystal \ cr1.rpt"); // Ändern Sie Ihren eigenen Ort //
Sicherheitsinformationen erstellen
// passwortgeschützte PC-Datenbanken wie Microsoft Access und Paradox verwenden diese Methode.
logonInfo.ConnectionInfo.SerVername = "www";
logonInfo.ConnectionInfo.Databasename = "Archives";
logonInfo.ConnectionInfo.userid = "sa";
LogonInfo.ConnectionInfo.Password = "123456
"
;
CrystalReportViewer1.ReportSource = orpt;
}
Die Berichtsdatei erscheint endlich!
Wow, ich war so froh, dass ich nicht anders konnte, als aufzustehen und zu dehnen!
Schritt 4: Die endgültige vollständige Version des Codes. Es gibt zwei Nachteile:
(1) Die Datei zur Datenberichtformatdatei verwendet einen absoluten Pfad
(2) Sobald die Datenbankzugriffsberechtigungen festgelegt sind, können sie in der endgültigen Version nicht so geändert werden. Stellen Sie zwei bessere Dinge ein:
(1), Server.MAppath -Funktion
(2) Lesen Sie Web.Config (In diesem Beispiel wird auch angegeben, wie Sie die Web.config -Konfigurationsdatei bedienen).
Die endgültige Änderung lautet wie folgt: (vollständiger Code) Die Datenbank ist SQL Server2000
Verwenden von Crystaldecisions.shared; // verantwortlich für die Interpretation der Tablelogoninfo -Klasse
Verwenden von Crystaldecisions.Crystalreports .Egine; // verantwortlich für die Interpretation der ReportDocument Class
Private void page_load (Objektabsender, System.EventArgs e)
{
Tabelogoninfo logoninfo = new Tablelogoninfo ();
// Ein Bericht des Berichtsdokuments muss im Voraus deklariert werden und der Datenbericht muss gleichzeitig geladen werden.
ReportDocument orpt = new ReportDocument ();
// Erhalten Sie den realen Weg der .rpt -Datei
String Path1, Path2;
path1 = server.mappath (" \ exer \ pagelet ");
path2 = path1+" \ kristall \ cr1.rpt ";
//orpt.load("c:\Inetpub\WWWROOT\EXER\PAGELET\CRYSTAL\CR1.RPT ");
orpt.load
(Path2);
String A, B, C, D;
// Serverame bekommen
a = System.Configuration .Configurationssettings .Appsetings ["ServerName"];
// Datenbankname abrufen
B = System.Configuration .Configurationssettings .Appsetings ["Datenbank"];
// userId holen
C = System.Configuration .Configurationsettings .Appsetings ["userId"];
// Passwort erhalten
D = System.Configuration .Configurationsettings .Appsetings ["Pass"];
// LogonInfo -Parameter einstellen
LogonInfo.ConnectionInfo.ServerName = A;
logonInfo.ConnectionInfo.Databasename = b;
logonInfo.ConnectionInfo.Userid = C;
=
d
;
CrystalReportViewer1.ReportSource = orpt;
}
Beschreibung des gesamten Demonstrationsprozesses:
1. Im Lösungs -Explorer, wo Sie die Berichtsdatei speichern müssen
2. Wenn Sie die Datenquelle im anschließenden "Berichtsexperten" auswählen, wählen Sie unbedingt die OLE DB und dann die entsprechende Fahrmotor gemäß den Anforderungen Ihrer Datenbank aus:
SQL Server: Microsoft Ole DB -Anbieter für SQL Server
Zugriff: Microsoft Jet.4.0
3. Geben Sie die richtige Datenbankverbindung ein.
4. Erstellen Sie einen Datenbericht und speichern Sie die CR1.RPT -Datei
5. Öffnen Sie WebForm1.aspx. Fügen Sie CrystalReportViewer Control hinzu: Name: CrystalReportViewer1
6. Fügen Sie den oben genannten Code in das Ereignis page_load in webform1.aspx.cs hinzu:
(Hinweis: Vergessen Sie nicht zu zitieren!)
************************************************** ****
Im Folgenden finden Sie die Details zu diesem Inhalt in Web.config
*** Beachten
// Passwort erhalten
D = System.Configuration .Configurationssettings .Appsetings ["Pass"]; Der "Pass" in Appsetings ["Pass"] bleibt hier konsistent. Natürlich können Sie einen beliebigen Namen auswählen, den Sie mögen, aber er muss konsistent sein.
http://www.cnblogs.com/zhangyd1080/archive/2006/11/15/561770.html