2017-12-07 2 views
0

erhalten Ich soll Datum vom Benutzer nehmen und dann alle Daten vor diesem Datum finden.Datum von SQL Server unter Verwendung der Benutzereingabe durch winform

DateTime dat = dateTimePicker1.Value.Date; 
string datS = dat1.ToString("yyyy-MM-dd"); 
string query = "SELECT * FROM test3table WHERE datum" + 
        " <= " + "datum LIKE '%' + @Datum + '%'"; 
// '2017-12-06' -> works fine 
SqlCommand comm = new SqlCommand(query, conn); 
comm.Parameters.AddWithValue("@Datum", datS); 

Stimmt etwas nicht mit der Syntax oder kann es nicht so gemacht werden?

+0

wo führen Sie die Abfrage aus .. bearbeiten Sie dies, um alle relevanten Code auch eine Google-Suche zu zeigen, wie man ordnungsgemäß parametrisierte Abfrage zu konstruieren auch lesen Sie auf der folgenden bei der Verwendung von Dates '> = <= und Between' 'LIKE' ist ein Schlüsselwort, das am besten für 'Strings oder Characters' und nicht für Daten funktioniert – MethodMan

+0

Vielen Dank für Ihre Antwort. Steves Abfrage löste mein Problem. Ich werde mir die Dinge ansehen, die du erwähnt hast. –

Antwort

0
 DateTime dat = dateTimePicker1.Value.Date; 

     string query = "SELECT * FROM test3table WHERE datum <= @Datum"; 

     SqlCommand comm = new SqlCommand(query, conn); 
     comm.Parameters.AddWithValue("@Datum", dat); 

ändern Spaltentyp DateTime sich einige Probleme in String-Umwandlung und wieder zu speichern. Dann können Sie einfach das obige tun.

0

Ihre SQL-Abfrage hat eine falsche Syntax. Ich glaube, was Sie brauchen, ist dies:

string query = "SELECT * FROM test3table WHERE datum" + 
       " < '" + @Datum + "'"; 

Dies sollte eine SQL-Abfrage erstellen, die etwa wie folgt aussieht:

SELECT * FROM test3table WHERE datum < '2017-12-06' 

Beachten Sie, dass ich Ihre <= Operator < geändert Ihr erklärtes Bedarf anzupassen für " alle Daten vor diesem Datum ".

Denken Sie auch daran, dass, wenn datum vom Typ DATETIME ist, ein Datumswert mit einer Zeit von Mitternacht ausgewertet wird. So wird 2017-12-06 als 2017-12-06 00:00 gelesen.

Verwandte Themen