Heim >Datenbank >MySQL-Tutorial >Wie erstellt und implementiert man benutzerdefinierte Abfragen für den komplexen Datenabruf in Crystal Reports mit VB.NET und C#?

Wie erstellt und implementiert man benutzerdefinierte Abfragen für den komplexen Datenabruf in Crystal Reports mit VB.NET und C#?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-25 17:00:11558Durchsuche

How to Create and Implement Custom Queries for Complex Data Retrieval in Crystal Reports using VB.NET and C#?

Erstellen Sie Abfragen für den Abruf komplexer Daten in Berichten

Ihre VB-Anwendung druckt einen Bericht mithilfe von ODBC. Über den Datenbankexperten werden Tabellen hinzugefügt und ein Crystal Report erstellt. Es stellt sich die Frage, wo eine benutzerdefinierte Abfrage platziert werden soll, um bestimmte Daten für den Bericht abzurufen.

Suchen des Abfragefelds in Crystal Report

Navigieren Sie zum Crystal Report-Assistenten und Suchen Sie die ODBC-Verbindung, die Sie mit Benutzername und Passwort erstellt haben. Es wird ein Feld „Befehlstext“ angezeigt, in das Sie Ihre benutzerdefinierte Abfrage eingeben können.

Beispielabfrage

Die bereitgestellte Abfrage ruft Daten aus mehreren Tabellen ab:

SELECT ts.`SCHEDIDNO`,
       ts.`DAYNAME`,
       DATE_FORMAT(ts.`TIMESTART`, '%h:%i %p') as TIMESTART,
       DATE_FORMAT(ts.`TIMEEND`, '%h:%i %p') as TIMEEND,
       ts.`GRADELEVEL`,
       ts.`SECTIONNAME`,
       ts.`SUBJECTNAME`,
       ts.`FACFULLNAME`,
       ts.`ROOMNAME`,
       tf.`FACFULLNAME` as PERSONNEL,
       tf.`DEPARTMENT`,
       tse.`Adviser`
FROM `tblschedule` ts,
     `tblfaculty` tf,
      `tblsection` tse
WHERE ts.`GRADELEVEL` = " & lblgrade.Text & "
    AND ts.`SECTIONNAME` = '" & lblsect.Text & "'
    AND ts.`DEPARTMENTNAME` = tf.`DEPARTMENT`
    AND tf.`ADMINISTRATOR` = 1
    AND tse.`SECTIONNAME` = '" & lblsect.Text & "'

VB.NET Code

Private CRPT As New ReportDocument
Private APPPATH As String
Private PARAM As New ParameterFields
Public PARAM_DESC As New ParameterDiscreteValue
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

    APPPATH = Application.StartupPath & "\REPORT\sample.rpt"
    CRPT.Load(APPPATH)
    Me.CrystalReportViewer1.ReportSource = CRPT

    PARAM = CRPT.ParameterFields

    PARAM_DESC.Value = Format(DatePicker1.Value, "yyyyMMdd")
    PARAM("DATEP").CurrentValues.Clear()
    PARAM("DATEP").CurrentValues.Add(PARAM_DESC)
    Me.CrystalReportViewer1.Refresh()
End Sub

C#-Code

CRPT = new ReportDocument();
APPPATH = Environment.CurrentDirectory + "Sample.rpt";
CRPT.Load(APPPATH);
Report_Viewer.Refresh();
CRPT.SetParameterValue("syear", Servercls.year);


CRPT.SetParameterValue("smonth", Servercls.month);
CRPT.SetParameterValue("sday", Servercls.day);
CRPT.SetParameterValue("datevalue", Servercls.Datevalue);
Report_Viewer.ReportSource = CRPT;

sc.configureCrystalReport();
Report_Viewer.Refresh();

Denken Sie daran, in Ihrem Code dieselben Parameternamen anzugeben wie im Crystal Report-Design.

Das obige ist der detaillierte Inhalt vonWie erstellt und implementiert man benutzerdefinierte Abfragen für den komplexen Datenabruf in Crystal Reports mit VB.NET und C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn