2017-03-28 6 views
0

Ich bearbeite eine Anwendung, die in Visual Studio 2012 erstellt wird. Ich versuche, einen Crystal Reports-Bericht zu erstellen, wo der Benutzer einen Datumsbereich auswählt. Ich habe einen Befehl für meine einfache SQL Server-Abfrage hinzugefügt, der in SQL Management Studio einwandfrei funktioniert.Crystal Reports-Befehl für Datum Bereich in Visual Studio 2012

Select customerID, orderID, orderDate 
From tblOrders 
Where orderDate BETWEEN CONVERT(DATETIME, '01/01/2015 00:00:00', 102) 
        AND CONVERT(DATETIME, '01/01/2016 11:59:59', 102) 

Ich habe dann die Parameter von und bis wie Termine und meine Daten ersetzt:

Select customerID, orderID, orderDate 
From tblOrders 
Where orderDate BETWEEN CONVERT(DATETIME, '{?From} 00:00:00', 102) 
         AND  
         CONVERT(DATETIME, '{?To} 11:59:59', 102) 

bekomme ich folgende Fehler die gleichen Daten verwenden:

Failed to retrieve data from the database. 
Details: ADO Error Code 0x80040e14 
Source Microsoft OLE DB Provider for SQL Server Description: Incorrect syntax near '2015'. 
SQL State: 42000 
Native Error: 102 [Database Vendor Code 102] 

ich die Abfrage versucht ohne die Convert-Funktion, aber das gleiche Ergebnis.

Antwort

0

Dies ist keine richtige Code:

'{?From} 00:00:00' 

kann es sein:

{?From} & " " & '00:00:00' in formula 

Und ich frage mich, warum Sie gerne tun möchten, dass ein Parameter mit statischen time?

Dies ist die Konvertierung läuft wie getestet.

CONVERT(DATETIME,convert(datetime, CONVERT(varchar,dt,101) + ' 00:00:00',102), 102) 

Sie die dt-{?From} im Crystal-Bericht

+0

Denken Sie daran, Datumsformat ändern kann, ist ein sehr Groß- und Kleinschreibung. Was ich meine ist, überprüfen Sie Ihr Datum, wenn es das gleiche Format von DB zu Parameter hat. –

+0

Dies befindet sich im Fenster "Befehl ändern" von Crystal Reports im Visual Studio-Projekt. Habe es trotzdem versucht, bekomme aber den gleichen Fehler, aber "Beschreibung Ungültiger Spaltenname". SQL State: 42S22. Nativer Fehler: 207 [Datenbank Vendor Code 207] " – Rick

+0

Ich benutzte eine statische Zeit, damit ich nur das Datum auswählen konnte und alle innerhalb des Datums seit 00:00:00 zurückbringen. Ich habe festgestellt, dass die Datumsauswahl von Crystal Reports automatisch die aktuelle Uhrzeit auswählt. – Rick