2016-08-19 4 views
0

Leute Entschuldigung Ich weiß nicht wirklich, wie man meine Frage tituliert. und nicht so gut in Englisch.
aber hier ist mein Problem:Wie man die richtigen Daten holt

Ich möchte die Geburtstage der Mitarbeiter abholen. von einem spezifizierten Monat
zB: Für den Monat "August" Ich möchte Daten von Daten 14 - 20

Ich habe eine harte Zeit, weil jeder unterschiedliche Geburtsjahre hat.

Hier ist was ich versucht habe. funktioniert aber nicht, ich suche auch im Internet, habe aber keinen einzigen Anhaltspunkt.

Dim monthName As String = cb_month.Text 'from combobox that has list of months 
    Dim monthNumber = DateTime.ParseExact(monthName, "MMMM", CultureInfo.CurrentCulture).Month 
    Dim fromday = CInt(cb_dayfrom.Text) 
    Dim todate = cb_dayto.Text 
    ' Here's my query 
    query = "SELECT empID AS 'ID', Name, Cast(Birthday AS DATE) FROM empInfo BETWEEN '%" & monthNumber & "-" & fromday.ToString & "%' AND '%" & monthNumber & "-" & todate & "%'" 

und oh, Ein anderes Problem ist, dass:
die Linie Besetzung (Geburtstag AS DATE) kehrt mit Uhrzeit Datum, wie kann ich das beheben?
Der Datentyp Geburtstag in SQL ist Datum

+0

Betrachten Sie mit [DATEPART()] (https://www.google.mu/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact= 8 & ved = 0ahUKEwjGn_uhi83OAhVD6RQKHf33AtsQFgggMAE & url = https% 3A% 2F% 2Fmsdn.microsoft.com% 2Fen-us% 2Flibrary% 2Fms174420.aspx & usg = AFQjCNH0ItsqryYaVH9_8wpUmt-551qCEg & sig2 = UP5GQEw6nj8i6a60fL1zAA & bvm = bv.129759880, d.d24) -Funktion. Die SQL-Anweisung scheint nicht korrekt zu sein. –

+1

Ja, das ist was zu tun: etwas Forschung. Sie haben vorher nicht von DatePart gehört, aber jetzt können Sie lernen, wie man DatePart selbst verwendet und dann zurückschickt, nachdem Sie versucht haben, es zu implementieren, wenn Sie immer noch Probleme haben. – jmcilhinney

Antwort

0

endlich! eine Antwort auf mein Problem gefunden ..

Dim monthNumber As Integer = DateTime.ParseExact(cb_month.Text, "MMMM", CultureInfo.CurrentCulture).Month 
    Dim fromdate As Integer = CInt(cb_dayfrom.Text) 
    Dim todate As Integer = CInt(cb_dayto.Text) 
    query = "SELECT empID AS 'ID', Name, CONVERT(VARCHAR(10),Birthday,101) FROM empInfo " & _ 
     "WHERE DATEPART (month, Birthday) = " & monthNumber & _ 
     " AND (DATEPART (day, Birthday) Between " & fromdate & " AND " & todate & ")"