VB.net, SQL 2012, die Auswahl von Telefondaten, wo das date heute ist

Ich mache eine Wallboard-App, die alle Anrufaufzeichnungen aus einer database im SQL 2012 server anzeigt. Ich habe versucht, Sachen links und rechts, aber alles gibt einen von 2 Fehlern, die den select-Befehl ausführen:

"Konvertierung fehlgeschlagen beim Konvertieren von date und / oder time aus characterfolge"

oder

"Ungültiger Spaltenname '07 / 07/2017 15:03:35 '."

Hier ist ein SQL-Auswahl Befehl Beispiel Ich habe:

SELECT * FROM dbo.tblCallList WHERE CategoryId = 1 AND CreateDate > """ & DateToday & """" 

Ich habe an einem anderen Wallboard-Programm für die Firma gearbeitet, an der ich bin und wann ich versucht habe, data aus dem aktuellen date zu lesen, das es mit dem obigen Befehl oben gearbeitet hat (gezwungen offensichtlich) und nur mit diesem hat es angefangen, Probleme auf mich zu haben.

Bearbeiten: oops, wo es heißt DateToday Ich meine, DateYesterday, mein schlechtes

edit *: Dies ist der Code im, der die Anzahl der Anrufe, die heute passiert sind, im Großen und Ganzen zählt, es könnte Müll sein, aber es war von der Person, die hier war, bevor ich das hatte und als mir gesagt wurde, dass er seine Arbeit fortsetzte, die ich gerade benutzt habe und improvisierte seinen Code seit es funktionierte und die databaseen, mit denen ich gearbeitet habe, sind alle ähnlich, wenn nicht das gleiche

 SDACallsP = New SqlDataAdapter(cmdCallsP, conn) Dim num_calls_parceiros = SDACallsP.Fill(data_set, "dbo.tblCallList") cs_parceiros.Text = num_calls_parceiros cmdCallsP = String.Format("SELECT * FROM dbo.tblCallList WHERE CategoryId = 1 AND CreateDate > ''" & DateYesterday & "''") Dim DateYesterday As Date = Date.Today.AddDays(-1).ToString("yyyy-MM-dd") 

Ihr erstes Problem ist die Verwendung von doppelten Anführungszeichen ("). In SQL server sollten Sie einfaches Anführungszeichen (') verwenden

 SELECT * FROM dbo.tblCallList WHERE CategoryId = 1 AND CreateDate > '" & DateToday & "'" 

Allerdings solltest du dich nicht mit der time abfragen. Vielleicht ist die beste Lösung für Sie die folgenden:

 SELECT * FROM dbo.tblCallList WHERE CategoryId = 1 AND CreateDate > cast('" & DateToday & "' as date)" 

Hast du versucht: cmdCallsP = String.Format ("SELECT * FROM dbo.tblCallList WHERE CategoryId = 1 AND CreateDate> '" & DateYesterday.ToString & "'")

Ich glaube nicht, dass du die doppelten Anführungszeichen benötigst