I journals_data
Tabelle haben, die enthält:Wie kann ich ein Datum Zeile auswählen, der größer ist als Benutzereingabe und niedriger als Benutzereingabe
ID | Name | Input_date
001 | Example | 02/06/2016
002 | Example2 | 15/06/2016
003 | Example3 | 02/06/2016
Und ich habe eine vb.net
Form zeigt eine Benutzereingabe.
Select Period
Month : Year :
From : <cboMonth> <cboYear>
To : <cboMonth> <cboYear>
<OKButton> <CancelButton>
<cboMonth>
Elemente enthält Monatsname January
-Desember
als string
.
<cboYear>
Artikel enthält Jahr von der Input_date
Spalte in journals_data
.
Ich möchte alle Zeilen von journals_data
auswählen, deren Monat größer ist als der Wert "Von Monat" im Formular und niedriger als der Wert "Zu Monat", auch für Jahr.
Ich habe Problem in dem sql
Code, in dem der Benutzer Eingabewert für Monat ist string
(wie January
) nicht 01
. die January
zu 01
und kombinierte es mit dem <cboYear>
Wert zu konvertieren und das Hinzufügen der 01
und 31
als Tageswert
Ich habe DateTime.ParseExact()
und ToString("00")
Technik verwendet. Aber es wird nicht funktionieren, es zeigt alle Zeilen in der journals_data
ohne Filterung der Input_date
.
Gibt es eine andere Möglichkeit, um mein Problem zu beheben?
Speichern Sie zunächst Daten mit einem Datumsdatentyp – Strawberry
. Verwenden Sie dazu die DateTimePicker-Steuerelemente. – dbasnett
Berechne Monatszahlen - Jahr * 12 + Monat und vergleiche –