Ich bin ziemlich neu in SQL. Im Prinzip habe ich eine Datenbank mit einer Spalte mit dem Namen „Datum“, und ich möchte alle Einträge zurück, so dass „Datum“ ist zwischen startDate
und endDate
Einen Datensatz basierend auf dem Datumsbereich finden
Dim myStr As String = String.Format("Select * from {0} where [Date] between @date1 and @date2", databaseTableName)
Dim ad As New SqlDataAdapter(myStr, sqlConn)
ad.SelectCommand.Parameters.AddWithValue("@date1", frm.StartDate.Value.ToString("dd/MM/yyyy"))
ad.SelectCommand.Parameters.AddWithValue("@date2", frm.EndDate.Value.ToString("dd/MM/yyyy"))
wo frm
eine Formular Windows Datum Zeitauswahl.
Nicht sicher, wo ich falsch gelaufen bin, aber die Abfrage gibt überhaupt nichts zurück.
Sie sollen Daten in der Abfrage zu vorbei und rufen Sie 'ToString'. Konvertieren Sie keinen binären "Date" -Wert in einen "String". Wenn Sie tatsächlich die Zeit auf Null stellen wollen, dann tun Sie das, d. H. Verwenden Sie 'frm.StartDate.Value.Date'. – jmcilhinney